蓝桥杯2015-省赛-C/C++-A组3题
题目
奇妙的数字
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。
代码
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int all[15]; 5 int cnt2; 6 int cnt3; 7 void init(){ 8 for(int i=0;i<15;i++){ 9 all[i]=0; 10 } 11 } 12 void depart(int num,int &cnt){ 13 while(num!=0){ 14 all[cnt]=num%10; 15 num/=10; 16 cnt++; 17 } 18 } 19 int judge(int len){ 20 if(len>10){ 21 return 1; 22 }else if(len<10){ 23 return 2; 24 }else if(len==10){ 25 sort(all,all+len); 26 for(int i=1;i<10;i++){ 27 if(all[i]-all[i-1]!=1){ 28 return 3; 29 } 30 } 31 return 4; 32 } 33 } 34 int main(){ 35 for(int n=10;n<1000;n++){ 36 cnt2=0; 37 init(); 38 depart(n*n,cnt2); 39 cnt3=cnt2; 40 depart(n*n*n,cnt3); 41 if(judge(cnt3)==4){ 42 cout<<"n:"<<n<<" n*n:"<<n*n<<" n*n*n:"<<n*n*n<<endl;//n:69 n*n:4761 n*n*n:328509 43 }else if(judge(cnt3)==1){ 44 break; 45 } 46 47 } 48 }
我们不会停下探寻明天的脚步

浙公网安备 33010602011771号