华科:守形数

xiaoxiao2021-02-28  29

题目描述

守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。

输入描述:

输入包括1个整数N,2<=N<100。

输出描述:

可能有多组测试数据,对于每组数据, 输出"Yes!”表示N是守形数。 输出"No!”表示N不是守形数。 示例1

输入

25 4

输出

Yes! No!

#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> #include <iostream> using namespace std; int main() { int x,y,i,k,flag,p; while(cin>>x) { flag=0;//标志位,判断YES或NO y=x*x; k=x;//k为x的末尾数字 p=y;//p为y的末尾数字 while(x!=0&&y!=0)//因为每轮循环x和y都要进行/10的操作,只要两个都没有变成0,就要继续循环 { if(k!=p)//只要发现不一样的就退出循环,flag置1 { flag=1; break; } else//不然的话x和y就都/10,然后更新k和p,即现在是倒数第二位 { x/=10; y/=10; k=x; p=y; } } if(flag==0) cout<<"Yes!"<<endl; else cout<<"No!"<<endl; } }
转载请注明原文地址: https://www.6miu.com/read-2632374.html

最新回复(0)