Решение задачи на языке СИ(n*(n+1)*(n+2) …(n+m).)
Задание: Заданы натуральные числа n и m. Составить программу вычисления выражения
n*(n+1)*(n+2) ...(n+m).
Скажу Вам, что на решение этой задачи я примерно потратил 15минут времени, что очень много. Попробуйте решить вы ?
Исходный код:
#include<stdio.h> /*Подключение препроцессор ной директивы, там хранятся прототипы функций.*/
#include<conio.h>
main()
{
int m, n, i, rez; /* Объявляем целочисленные переменные*/
scanf("%d", &n); /* Вводим число с клавиатуры*/
scanf("%d", &m); /* Вводим число с клавиатуры*/
printf("n=%d, m=%d", n, m); /*Выводим на монитор введенное число*/
rez=n;
for (i=1; i<=m; i++) /* Происходит цикл, в котором переменной sum присваиваем числа, от нуля до N*/
rez*=(n+i);
printf ("\nRez=%d\n", rez); /*Выводим на монитор полученную сумму*/
getch(); /*Функция, чтобы при завершении программы результаты оставались на экране*/
return 0; /*Эта строка говорит о том, что программа завершилась корректна*/
}
Тестирование программы:
5 3
n=5, m=3
Rez=1680
а если m больщой (на пример m=64), тогда как?
Ну если он большой, то наверно нужно ждать вычислений
. А так я сейчас не помню. Пока голова другим занята.