Напишите функцию, которая определяет, является ли заданное натуральное число точным квадратом - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: math.h и printf.h
  2. Определение функции isSimpleSquare(int n), которая принимает целочисленный аргумент n и возвращает логическое значение true, если число является точным квадратом, иначе - false. Внутри функции объявлены следующие переменные: del - счётчик для цикла, flag - флаг проверки.
  3. В цикле for перебираются все делители от 1 до корня из числа n (с шагом 1).
  4. Проверяется условие del*del==n. Если делитель является точным квадратом числа n, то флаг flag=true.
  5. В конце функции возвращается значение флага.
  6. В функции main() объявлены переменные a, b, i.
  7. Пользователю предлагается ввести значения a и b с помощью функции scanf().
  8. В цикле for перебираются все числа от a до b (с шагом 1).
  9. Для каждого числа вызывается функция isSimpleSquare(), результат проверки выводится на экран с помощью функции printf().
  10. В конце функции main() возвращается 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы