题解 | 守形数

守形数

https://www.nowcoder.com/practice/99e403f8342b4d0e82f1c1395ba62d7b

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<iostream>
#include<vector>
using namespace std;

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

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

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

int main()
{
	int n;
	while (scanf("%d",&n)!=EOF)
	{
		int sq = n * n;
		vector<int> arr;
		int k = 0;
		while (sq > 10)
		{
			arr.push_back(sq % 10);
			sq = sq / 10;
		}
		int num = arr.size();
		int myNum = 0;
		for (int i = num - 1; i >= 0; i--)
		{
			myNum = myNum * 10 + arr[i];
		}
		if (n == myNum)
		{
			printf("Yes!\n");
		}
		else
		{
			printf("No!\n");
		}
	}
	return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务