2204: 求满足条件的3位数
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:16
解决:11
题目描述
编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为∶
1.该数为完全平方数
2.该数至少有2位数字相同
例如,100同时满足上面两个条件。
输入
输入一个数n,n的大小不超过实际满足条件的3位数的个数。
输出
输出为第n个满足条件的3位数(升序)
样例输入 复制
1
样例输出 复制
100
提示
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k=0;
cin>>n;
for (int i=100;i<=999;i++) {
if (sqrt(i)==(int)sqrt(i)) {
int m,t1,t2,t3;
m=i;
t3=m%10;
m/=10;
t2=m%10;
m/=10;
t1=m%10;
if (t1==t2||t1==t3||t2==t3) {
k++;
if (k==n) {
cout<<i;
return 0;
}
}
}
}
return 0;
}