Proc25. Описать функцию IsSquare($$K$$) логического типа, возвращающую True, если целый параметр $$K$$ ($$> 0$$) является квадратом некоторого целого числа, и False в противном случае. С ее помощью найти количество квадратов в наборе из 10 целых положительных чисел.
Решение от Дмитрия:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
#include <iostream> #include <windows.h> #include <fstream> #include <cmath> using namespace std; bool IsSquare(int K); int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int n = 1; int num = 0; int K; int q; ifstream in ("Proc25.txt"); cout << "Набор чисел: "; while (in >> K) { cout << K << " "; if (K>0) { q = IsSquare(K); num += q; ++n; } } cout << endl; cout << "Количество квадратов натуральных чисел в наборе = " << num << endl; system ("pause"); return 0; } bool IsSquare(int K) { for(int i=1; i*i<=K; ++i) { if (i*i==K) return true; } } |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: