1511 - 守形数
时间限制 : 1 秒
内存限制 : 32 MB
守形数是这样一种整数,它的平方的低位部分等于它本身。
比如25的平方是625,低位部分是25,因此25是一个守形数。
编一个程序,判断N是否为守形数。
题目输入
输入包括1个整数N,2<=N<100。
题目输出
可能有多组测试数据,对于每组数据,
输出"Yes!”表示N是守形数。
输出"No!”表示N不是守形数。
输入/输出样例
输入格式
6 11
输出格式
Yes! No!
C语言解答
#include<stdio.h> int main() { int n,i,j; char a[10],b[10]; while(scanf("%d",&n)!=EOF) { sprintf(a,"%d",n); sprintf(b,"%d",n*n); for(i=strlen(a),j=strlen(b);i>=0&&j>=0;i--,j--) if(a[i]!=b[j]) break; if(i<0) puts("Yes!"); else puts("No!"); } return 0; }
C++解答
#include<stdio.h> #include<string.h> int main() { int n,i,j; char a[10],b[10]; while(scanf("%d",&n)!=EOF) { sprintf(a,"%d",n); sprintf(b,"%d",n*n); for(i=strlen(a),j=strlen(b);i>=0&&j>=0;i--,j--) if(a[i]!=b[j]) break; if(i<0) puts("Yes!"); else puts("No!"); } return 0; }
Java解答
import java.util.*; public class Main{ public static void main(String args[]){ Scanner jin=new Scanner(System.in); while(jin.hasNextInt()){ int n=jin.nextInt(); int nn=n*n; if((n<10&&nn%10==n)||(n>=10&&n<100&&nn%100==n)) System.out.println("Yes!"); else System.out.println("No!"); } } }