Определить, сколько целых чисел в интервале от a до b являются полными квадратами - C (СИ)
Формулировка задачи:
Вычислите, сколько целых чисел в интервале от a до b являются полными квадратами.
Заранее спасибо
Решение задачи: «Определить, сколько целых чисел в интервале от a до b являются полными квадратами»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, value, count = -1;
printf("a = "); scanf("%d", &a);
printf("b = "); scanf("%d", &b);
for(value = (int)sqrt(a), count += (value*value == a);
value*value <= b; value++)
{
count += 1;
}
printf("Всего полных квадратов в интервале %d .. %d: %d\n", a, b, count);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные
a,b,valueиcountтипаint. - Переменная
countинициализируется как-1. - Выводится сообщение с просьбой ввести значение переменной
a. - Вводится значение переменной
a. - Выводится сообщение с просьбой ввести значение переменной
b. - Вводится значение переменной
b. - Переменная
valueинициализируется как(int)sqrt(a). - Задается условие для цикла
for, который будет выполняться, покаvalue*value <= b. - Внутри цикла
forвыполняется следующая последовательность действий:- Переменная
countувеличивается на1. - Проверяется условие
value*value == a. Если оно истинно, то переменнаяcountувеличивается на1.
- Переменная
- После окончания цикла
forвыводится сообщение с текстомВсего полных квадратов в интервале a .. b: count. - Возвращается значение
0, что означает успешный конец работы программы. Примечание: В этом коде предполагается, что пользователь вводит корректные значения для переменныхaиb, и что значения не превышают максимально допустимые для типа данныхint.