Числовая последовательность - C (СИ)
Формулировка задачи:
Добрый вечер! Суть такова, что необходимо подсчитать количество чисел, которые являются квадратами некоторого натурального числа (число не вводится с клавиатуры и не задано) и не превосходят числа А. Программа завершает работу когда последним членом является 0.
Вот мой код:
Где a - сама последовательность. В итоге программа должна из чисел (например) 1 2 3 4 5 6 7 8 9 выбрать два (4 и 9) т.к. они являются квадратами 2 и 3. В чем ошибка моего кода?
#include <stdio.h> #include <conio.h> #include <math.h> int main() { double a, A; int count=0; int N; printf ("Vvedite A=");scanf("%lf",&A); printf ("Vvedite a=");scanf("%lf",&a); while(a!=0) { N=sqrt(a); N>0; if (a<A && a>=0) count++; printf ("Vvedite a=");scanf("%lf",&a); } printf ("Kolichestvo elementov ravno=%d\n", count); getch(); return 0; }
Решение задачи: «Числовая последовательность»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <math.h> int main() { double a, A; int count=0; double N; printf ("Vvedite A=");scanf("%lf",&A); printf ("Vvedite a=");scanf("%lf",&a); while(a!=0) { N=sqrt(a); if (a<A && N==int(N)){ count++; } printf ("Vvedite a=");scanf("%lf",&a); } printf ("Kolichestvo elementov ravno=%d\n", count); getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами, математическими и целочисленными операциями.
- Объявление переменных:
a
,A
,count
иN
. - Ввод значений для переменных
A
иa
с помощью функцииscanf()
. - Бесконечный цикл, который прерывается только когда значение переменной
a
становится равным нулю. - Вычисление значения переменной
N
как квадратного корня отa
. - Проверка условия: если
a
меньшеA
иN
является целым числом, то увеличивается счетчикcount
. - Вывод количества найденных чисел, удовлетворяющих условию, в конце работы программы.
- Ожидание нажатия клавиши для завершения работы программы.
- Возвращение значения 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д