Решение задачи Квадраты с Mccme

С пояснением   Просмотров: 25


Вводятся целые числа a и b. Гарантируется, что a не превосходит b.
Выведите все числа на отрезке от a до b, являющиеся полными квадратами. Если таких чисел нет, то ничего выводить не нужно.


Код

#include <bits/stdc++.h>

using namespace std;
int main()
{
    int a, b;
    cin >> a >> b;
    for(int i = a; i <= b; ++i){
        if(sqrt(i * 1.0) == int(sqrt(i)))
            cout << i << " ";
    }
    return 0;
}

         

Администратор Photo Автор: Администратор


Пробегаем циклом от a до b. Пусть счетчиком мы возьмем переменную целого типа i. Объявим переменную
целого типа j. Каждый раз мы будем в j хранить корень от числа i. Это в с++ выглядит, таким образом,
j=(int)sqrt(1.0*i);. Еще мы должны каждый раз проверять если j*j=i то мы выведем число i. Цикл в этом
заканчивается только он выполняет 2 действия выше описанного.


Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться