【数学】猫老大数

                                  【题目描述】

猫老大很喜欢研究数字,特别是喜欢质数。
一天,猫老大发现有一些数字可以表示成两个质数相乘的形式。
比如,10=2×5. 2,5都是质数,所以 10 是一个“猫老大数 ”。
所以猫老大决定考考彩虹,他告诉彩虹一个数 n ,判断 n 是不是“猫老大数”?

【输入格式】

一行,
一个数 n (1<=n<=2^31-1).

【输出格式】

输出一行,
如果 n 是一个“猫老大数”则输出 “It's a MaoLaoDa number.”
否则输出“It's not a MaoLaoDa number.”

【样例输入】                                                 【样例输出】

10                                                                                                                         It's a MaoLaoDa number.

一个数能被唯一分解,至多有一个大于等于sqrt(n)的质因子,则当该数只有一个小于等于sqrt(n)且大于1的因子时,该数能被分解为两个质因数。

#include<iostream>
#include<iomanip>
#include<cstring>
#include<cstdio>
#include<iomanip>
#include<queue>
#include<cmath>
using namespace std;
int n,sum;
int main()
{
	scanf("%d",&n);
	for(int i=2;i<=sqrt(n);i++)
	{
		if(n%i==0) sum++;
	}
	if(sum==1) printf("It's a MaoLaoDa number.");
	else printf("It's not a MaoLaoDa number.");
}

猜你喜欢

转载自blog.csdn.net/Dy_Dream/article/details/81078075
今日推荐