/*-------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。 -------------------------------------------------------*/ #include <iostream> using namespace std; int selfhold(long number); int main() { long number; for(number=0;number<200000;number++) { if(selfhold(number)==1) { cout<<number<<endl; } } return 0; } int selfhold(long number) /*判断数number是否是一个自守数*/ { /**********Program**********/ char a[10]=number; int chang=strlen(a); int cheng=number*number; char b[100]=cheng; int ch=strlen(b);int sum=0; for(int i=0;i<chang;i++){ if(a[i]==b[ch-chang])sum++; } if (sum==chang)return 1; else return 0; } /**********Program**********/
时间: 2023-08-20 09:07:58 浏览: 431
int selfhold(long number) /*判断数number是否是一个自守数*/ {
char a[10];
sprintf(a,"%ld",number);
int chang=strlen(a);
long cheng=number*number;
char b[100];
sprintf(b,"%ld",cheng);
int ch=strlen(b);
int sum=0;
for(int i=0;i<chang;i++){
if(a[i]==b[ch-chang+i])
sum++;
}
if (sum==chang)
return 1;
else
return 0;
}
阅读全文