题目描述
小明刚刚在数学课上学习了什么是平方数,例如25=5*5,则25是一个平方数。
现在数学老师布置了一个任务:给定n个正整数,将其中的平方数选择出来,并按照原来的先后顺序输出。这么多,又那么大的数,人工判断显然比较繁琐,学会了编程的你,请你编写一个程序帮助小明来完成这个任务。
输入格式
输入文件中共有两行:
第一行仅有一个正整数n(1≤n≤100)。
第二行包含n个正整数(均不超过1,000,000),两两之间用一个空格分隔。
输出格式
输出文件中包含若干行,每行仅有一个平方数(记得是按照输入数据的先后顺序输出啊)。
样例 #1
样例输入 #1
8
49 13 36 20 25 30 16 40
样例输出 #1
49
36
25
16
代码如下:
#include <iostream>
#include <cmath>
using namespace std;
int a[100];
int main() {
int n;
cin >> n;
for(int i=0; i<n; i++)
{
cin >> a[i];
}
for(int i=0; i<n; i++)
{
if(sqrt(a[i])==floor(sqrt(a[i])))
{
cout << a[i] << endl;
}
}
return 0;
}