以下是引用steven4ilove在2006-4-16 1:30:00的发言:
啊?哪?错?我新手。多指教~
不过上面的是没问题的。绝对可行,我用的是turboc3.0
为什么呢?为什么呢? 当n是素数。那显然n*n 是满足的,可你这程序没考虑到这个。不过思路很好
叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
#include <math.h>
int IsPrime(int m)
{
int i;
for(i = 2;i <= (int)(sqrt(m));i++)
{if(m % i == 0) return 0;
else return 1;
}
}
int IsProNum(int n)
{
int i, j, t;
for(i = 2;i <= n;i++)
if(IsPrime(i))
for(j = 2;j <= n;j++)
{if(IsPrime(j)) t = j * i;
if(t == n) return 1;
else if(t > n) return 0;
}
}
main()
{
int n;
printf("Enter a number:\n");
scanf("%d", &n);
if(IsProNum(n)) printf("It's a MaoLaoDa number.\n");
else printf("It's not a MaoLaoDa number.\n");
}