| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1179 人关注过本帖
标题:请教关于因子的一个问题
只看楼主 加入收藏
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
 问题点数:0 回复次数:10 
请教关于因子的一个问题
求第1500个只有2,3,5因子的数
数是从小到大排列
如:第1个数是1,1=2^0*3^0*5^0
第2个数是2,1=2^1*3^0*5^0
第3个数是3,1=2^0*3^1*5^0
第4个数是4,1=2^2*3^0*5^0
2006-10-09 21:36
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

#include<stdio.h>

int main()
{
int n,num,i,j,k,count=0;
for(num=1;num<=1500;num++)
{
i=0,j=0,k=0;
n=num;
while(n%2==0)
{
n/=2;
i++;
}
while(n%3==0)
{
n/=3;
j++;
}
while(n%5==0)
{
n/=5;
k++;
}
if(n==1)
{
count++;
printf("第%d个数是:%d=2^%d*3^%d*5^%d\n",count,num,i,j,k);
}
}
return(0);
}


倚天照海花无数,流水高山心自知。
2006-10-09 21:58
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
人家叫你求第1500个数,不是1500以内的数啊!!!

2006-10-10 00:27
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
以下是引用我不是郭靖在2006-10-10 0:27:43的发言:
人家叫你求第1500个数,不是1500以内的数啊!!!

自己改一下不就行了

2006-10-10 08:18
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用cdmalcl在2006-10-10 8:18:26的发言:

自己改一下不就行了

我是菜鸟,我不会改.
还请cdmalcl 改一下,谢谢.

2006-10-10 10:04
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
第1500个:

859963392=2^17*3^8*5^0

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-10 12:27
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用unicorn在2006-10-10 12:27:24的发言:
第1500个:

859963392=2^17*3^8*5^0

我要程序啊,有程序吗?


2006-10-10 14:08
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
nuciewth的程序写的很好啊,自己分析下就出来了

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-10 15:23
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

我是菜鸟,不会改啊,有谁会改,帮改下啊?


2006-10-10 16:16
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
不是说让你改 是让你分析
nuciewth的程序中的count 是计数器,记录了当值num为1500时的个数
你需要求的是第1500个数,所以你可以让count的上限为1500,当循环到count=1500时得到的num的值
当然这么改会很消耗程序执行时间的
不好意思修改了nuciewth的程序



#include<stdio.h>

int main()
{
int n,num,i,j,k,count=0;
for(num=1;count<=1500;num++)
{
i=0,j=0,k=0;
n=num;
while(n%2==0)
{
n/=2;
i++;
}
while(n%3==0)
{
n/=3;
j++;
}
while(n%5==0)
{
n/=5;
k++;
}
if(n==1)
{
count++;
printf(\"%d\n\",count);//记数显示

}
}
printf(\"第1500个数是:%d=2^%d*3^%d*5^%d\n\",num,i,j,k);
return(0);
}

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-10 16:54
快速回复:请教关于因子的一个问题
数据加载中...
 
   



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

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