题目描述
猫老大很喜欢研究数字,特别是喜欢质数。一天,猫老大发现有一些数字可以表示成两个不同质数相乘的形式。比如,10=2×5。2,5都是质数,所以 10 是一个“猫老大数 ”。所以猫老大决定考考彩虹,他告诉彩虹一个数 n ,判断 n 是不是“猫老大数”?
输入格式
一行,一个数 n (1<=n<=2^31-1).(int的最大值是2^31-1)
输出格式
输出一行,如果 n 是一个“猫老大数”则输出 “It's a MaoLaoDa number.”
否则输出“It's not a MaoLaoDa number.”
输入/输出例子1
输入:
10
输出:
It's a MaoLaoDa number.
代码
#include <bits/stdc++.h>
using namespace std;
int n,k,p;
int main()
{
scanf("%d",&n);
for(int e=2;e<=sqrt(n);e++)
{
if(n%e==0)
{
k=1;
break;
}
}
if(k==0){printf("It's not a MaoLaoDa number.");return 0;}
k=0;
for(int i=2;i<n;i++)
{
if(n%i==0)
{
k++;
}
}
if(k==2)
{
printf("It's a MaoLaoDa number.");
}
else
{
printf("It's not a MaoLaoDa number.");
}
return 0;
}