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;
}