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