#include<cstdio>
#include<iostream>
using namespace std;
int DIWEI(int n)
{
	int part;
	int result=n*n;
	if(n<=9)
	{
		part=result%10;
		
	}
	else if(n<=31)
	{
		part=result%100;
	}
	else
	part=9999;
	
	return part;
}
int main()
{
	int n;
	cin>>n;
	int result;
	result=n*n;
	
	int part=DIWEI(n);
	if(part==n)
	{
		printf("Yes!\n");
	}
	else
	printf("No!\n");
	
	
	 
}

是凑数做出来的,不够通用。

守形数,看了一个佬的解法,牛