Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии - C (СИ) (74233)
Формулировка задачи:
сделала как бы начало, а вот что дальше делать не пойму
#include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> int main (void) { int i, d, an, a1, N; printf("Vvedite d\n"); scanf_s("%d", &d); printf("Vvedite kolichestvo chlenov progressii\n"); scanf_s("%d", &N); printf("Vvedite a1\n"); scanf_s("%d", &a1); for (i=0; i<N; i++) { an=a1+(d*i); printf("%d", an); } system("pause"); return 0; }
Решение задачи: «Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии»
textual
Листинг программы
#include <stdbool.h> #include <limits.h> #include <stdio.h> #define MAX_DIABOLICAL (UINT_MAX / 3) unsigned int diabolical(unsigned int p) { if( p & 1 ) p = 3 * p + 1; return p / 2; } int main(int argc, char* argv[]) { char buf[10]; puts("Enter first number for diabolical sequence (up to 999999999):"); fgets(buf, sizeof(buf), stdin); unsigned int p = atoi(buf); while( p > 1 ) { if( p > MAX_DIABOLICAL ) { puts("ERROR: Next number is too large"); break; } p = diabolical(p); printf("%d ", p); } return 0; }
Объяснение кода листинга программы
В этом коде реализуется алгоритм вычисления первых членов арифметической прогрессии, известной как последовательность дьявола. Эта последовательность определяется следующим образом: первые три члена равны 3, 5, 7, а каждый следующий член получается путем умножения предыдущего члена на 3 и прибавления к нему 1. Если очередной член последовательности превышает максимально допустимое значение (обозначенное в коде как MAX_DIABOLICAL), то выводится сообщение об ошибке и цикл прерывается. Список действий:
- Подключение необходимых заголовочных файлов.
- Объявление функции diabolical, которая будет вычислять следующий член последовательности.
- Ввод первого числа с помощью функции fgets и преобразование его в целое число с помощью функции atoi.
- Цикл, который будет выполняться до тех пор, пока текущий член последовательности больше 1.
- Проверка на то, что текущий член последовательности не превышает максимально допустимое значение.
- Если текущий член последовательности превышает максимально допустимое значение, то выводится сообщение об ошибке и цикл прерывается.
- Вызов функции diabolical для вычисления следующего члена последовательности.
- Вывод текущего члена последовательности с помощью функции printf.
- Выход из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д