Подсчитать частоту каждого числа генератор псевдослучайных чисел при выборке 100000 - C (СИ)
Формулировка задачи:
Написать генератор псевдослучайных чисел по алгоритму f(n) = f(n-1) + f(n-2) + f(n-3) mod 239; f(0) = f(1) = f(2) = 30. Подсчитать частоту каждого числа при выборке 100000.
Решение задачи: «Подсчитать частоту каждого числа генератор псевдослучайных чисел при выборке 100000»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int gen(int n)
{
if (n <= 2)
return 30;
else
return (gen(n - 1) + gen(n - 2) + gen(n - 3)) % 239;
}
int main()
{
int n;
int k;
printf("wwidite chislo");
scanf("%d", &n);
k = gen(n);
printf("%d", k);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O и для генерации случайных чисел.
- Определяем функцию gen(), которая будет генерировать псевдослучайное число.
- В функции gen() используем рекурсию для вычисления числа. Если число меньше или равно 2, то возвращаем 30. В противном случае, вызываем функцию gen() для чисел n-1, n-2, n-3 и возвращаем их сумму, модулированную 239.
- В функции main() считываем число n с помощью scanf().
- Вызываем функцию gen() с переданным числом n и сохраняем результат в переменную k.
- Выводим значение переменной k на экран.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.