| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1128 人关注过本帖
标题:[求助]ACM中的题目
只看楼主 加入收藏
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
以下是引用steven4ilove在2006-4-16 1:30:00的发言:

啊?哪?错?我新手。多指教~
不过上面的是没问题的。绝对可行,我用的是turboc3.0



为什么呢?为什么呢? 当n是素数。那显然n*n 是满足的,可你这程序没考虑到这个。不过思路很好


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-16 02:27
steven4ilove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-4-15
收藏
得分:0 
哦 原来是题意的理解,我以为他说的两个质数相乘条件是两个不同的质数,所以把一个质数自乘筛掉了
现在明白了 谢谢

[此贴子已经被作者于2006-4-16 3:13:19编辑过]

2006-04-16 02:48
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

例如3*3=9,5*5=25,11*11=121。。。。就是这仅有的两个素因子相同,你这程序没考虑到


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-16 02:56
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
收藏
得分:0 

#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");
}


2006-04-16 11:44
steven4ilove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-4-15
收藏
得分:0 
#include"stdio.h"
main()
{
int a,b=0,d=0,i=2,j=2;
scanf("%d",&a);
if(a<=2)printf("这不是一个猫老大数\n");
else {
for(;i<a;i++)
{
if(a%i==0)b++;
}
for(;j<a;j++)
{
if(a%j==0)d++;
if(a==j*j)d++;
}
if(b==2||d==2)printf("这是一个猫老大数\n");
else printf("这不是一个猫老大数\n");
}
}

这次加上N*N的情况了~~
2006-04-16 14:38
快速回复:[求助]ACM中的题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039211 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved