-
Расчет геометрической прогрессии
Пример программы расчета значений 5 членов геометрической прогрессии 2, 6, 18, … (a0 = 2, r = 3) с вещественными значениями членов и нахождения суммы ее членов приведен ниже.
#include "stdafx.h"
#include <conio.h>
#include <locale.h>
int _tmain(int argc, _TCHAR* argv[])
/* Программа расчета значений 10 членов геометрической
прогрессии с номерами от 0 до 9
2, 6, 18, . . . и нахождения суммы ее членов */
{
const
int n = 5;/* Количество членов геометрической прогрессии */
int
i; /* Номер члена прогрессии */
double
Sum; /* Сумма членов прогрессии */
double
ai; /* Значение i-го члена прогрессии */
setlocale(LC_ALL, "russian"); /* установка русского режима */
printf("Программа расчета значений %d членов \n",n);
printf("геометрической прогрессии 2, 6, 18, . . .\n");
printf("с номерами от 0 до %d и нахождения \n", n - 1);
printf("суммы ее членов\n");
printf("\n");
printf("Значения членов геометрической прогресси:\n");
Sum = 0.0; /* Начальное значение суммы членов прогрессии */
ai = 2.0; /* Первый член a0 = 3 */
/* Задание i - номера члена прогрессии */
for (i = 0; i <= n - 1; i++)
{
/* Печать i-го члена */
printf("%4d) =%3f\n",i,ai);
Sum = Sum + ai; /* Увеличение суммы на очередной член */
ai = ai * 3.0; /* Расчет значения следующего члена r = 3 */
}
printf("\nСумма членов прогрессии = %f\n",Sum);
/*Завершение выполнения программы*/
printf("\nНажмите любую клавишу\n");
_getch();
return 0;
}
Наглядный тест:
-
Расчет факториала
Факториа́л числа n (обозначается n!, произносится эн факториа́л) — произведение всех натуральных чисел до n включительно:
.
По определению полагают 0! = 1. Факториал определён только для целых неотрицательных чисел.
Последовательность факториалов положительных целых чисел начинается так:
1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, …
Факториалы часто используется в комбинаторике, теории чисел и функциональном анализе.
С ростом n значение факториала растет очень быстро! Поэтому расчет факториала 13! приведет к переполнению значения.
Входная и выходная информация программы определяется макетами:
Программа расчета n!
Введите значение аргумета факториала
Тест № 1: Тест № 2: Тест № 3: Тест № 4:
5 0 13 -2
5! = 120 0! = 1 Не могу рассчитать 13! Не могу рассчитать -2!
Выходная информация программы:
int f; //Значение факториала, если его можно рассчитать
Входная информация программы:
int n; //Аргумент факториала
Наглядные тесты:
n=5
f |
i |
1 |
1 |
1 |
2 |
2 |
3 |
6 |
4 |
24 |
5 |
120 |
6 |
n=0
f |
i |
1 |
1 |
n=1
f |
i |
1 |
1 |
1 |
2 |
Пример программы расчета значений факториала n для MVS2005 приведен ниже (комментарии в стиле C++):
#include "stdafx.h"
#include <conio.h>
#include <locale.h>
//Программа расчета значений n!
int main (void)
{
int
n; //Аргумент факториала
int
i; //Вспомогательная переменная
int
f; //Значение факториала, если его можно рассчитать
setlocale( LC_ALL, "russian" ); //Русский язык
printf ("Программа расчета n! \n");
printf ("Введите значение аргумента факториала \n");
scanf("%i",&n);
//Контроль n
if ((n<0)||(n>12))
{
printf ("Не могу рассчитать %i! \n", n);
return -1;
}
//Расчет факториала при корректном n
f = 1; //Начальное значение факториала
i = 1;
while(i<=n)
{
f = f * i; //i-ое значение факториала
i++;
}
//Печать факториала n
printf ("%i! = %i \n", n, f);
/*Завершение выполнения программы*/
printf("\nНажмите любую клавишу\n");
_getch();
return 0;
}