1 条题解

  • 1
    @ 2023-3-31 21:31:20

    有我在,绝对给你满分的题解

    #include<iostream>
    #include<math.h>
    #include<string.h>
    using namespace std;
    int n,m,a[10],cnt;
    bool check1(int x){//判断每一位是否重复
    	memset(a,0,sizeof(a));
    	while(x){
    		if(a[x%10]==0)a[x%10]++;
    		else return false;
    		x/=10;
    	}
    	return true;
    }
    bool check2(int i){
    	int a=i/1000,b=i/100%10,c=i/10%10,d=i%10;
    	if(check1(i)&&i%11==0&&b+c==a){
    		int k=b*10+c;
    		for(int i=1;i<=10;i++){//判断平方数
    			if(k==i*i)return true;
    		}
    		return false;
    	}
    }
    int main(){
    	cin>>n>>m;
    	for(int i=n;i<=m;i++){
    		if(check2(i)){
    			cout<<i<<" ";
    			cnt++;
    		}
    	}
    	if(cnt)cout<<endl<<cnt;
    	else cout<<"No Answer.";
    	return 0;
    }
    
  • 1

信息

ID
949
时间
1000ms
内存
128MiB
难度
8
标签
递交数
11
已通过
10
上传者