1511 - 守形数

通过次数

0

提交次数

0

时间限制 : 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!");
    }
  }
}