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