新人初来乍到,请各路高手指点!谢谢!
这个C语言编程如何判断自守数:【题目描述】
自守数是指一个数的平方的尾数等于该数自身的自然数。例如252=625,762=5776。输入一个自然数,判断其是否为自守数。 如果是,则输出Yes,否则输出No。
【输入】
一个自然数。
【输出】
如果是自守数,输出Yes,否则输出No。
【样例输入】
5↙
【样例输出】
Yes
#include<stdio.h> int main() { int n, M; scanf_s("%d", &n); M = n * n; if (M >= 1000 && M < 998002) // 999 x 999 = 998001 { if (n == M % 1000) printf("%d 是一个自守数\n",n); else printf("%d 不是一个自守数\n",n); } if (M >= 100 && M < 9802) // 99 x 99 = 9801 { if (n == M % 100) printf("%d 是一个自守数\n",n); else printf("%d 不是一个自守数\n",n); } if (M >= 10 && M < 81) // 9 x 9 = 81 { if (n == M % 10) printf("%d 是一个自守数\n",n); else printf("%d 不是一个自守数\n",n); } if (M < 10) { printf("%d 不是一个自守数\n",n); } printf("\n"); }
[此贴子已经被作者于2020-11-5 16:11编辑过]
#include <stdio.h> int main() { long a,b,i=1; scanf("%ld",&a); b=a; do { b=b/10; i*=10; }while(b>0); if(a*a%i==a) printf("Yes\n"); else printf("No\n"); return 0; }
#include<stdio.h> int main( void ) { unsigned s; unsigned n; unsigned res; scanf("%u%n",&s,&n); if ( s == 0) res = 0; else res = (s*(s-1)) % (10*n); puts( res? "No" : "Yes" ); return 0; }
[此贴子已经被作者于2020-11-19 18:12编辑过]
[此贴子已经被作者于2020-12-3 23:26编辑过]