标题:程序优化
只看楼主
凌晨
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2004-9-22
 问题点数:0 回复次数:6 
程序优化

#include<stdio.h> main() {int m,n,i; scanf("%d%d",&m,&n); for(i=1;;i++) if((i*m)%n==0) break; printf("%d\n",i*m); getch();}

这是我编的求最小公倍数的方法,但我感到其效率不高,特别是当m为很小而n却很大时,希望各位把好的方法告诉我,多谢!

#include<stdio.h> main() {int n,i,b; scanf("%d",&n); b=n; for(i=n-1;i>1;i--) if((b%i)==0) {b=b/i; printf("%d ",i);} printf("%d ",n); printf("1"); getch();}

这是我求一个数的因子的求法,但我想输出时好看一点,不用最后才添上两个因子,各位高手请帮帮忙!

搜索更多相关主题的帖子: 程序优化 
2004-10-10 21:33
心若在
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2004-9-21
得分:0 

第2个 做点修改就可以了

#include<stdio.h> main() { int n,i,b ; scanf("%d",&n); b=n ; for(i=n;i>=1;i--) if((b%i)==0) { printf("%d ",i); } getch(); }


我知道我菜 但我会尽我最大的努力去帮助别人!
2004-10-10 22:19
心若在
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2004-9-21
得分:0 

至于你的第一题;

算法已经很可以了,至少我现在还没看到比你这人算法好的;


我知道我菜 但我会尽我最大的努力去帮助别人!
2004-10-10 22:53
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
得分:0 

http://bbs.bc-cn.net/bbs/dispbbs.asp?BoardID=44&ID=6118

最小公倍数可以建立在最大公因数的算法上


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-10-11 12:06
迷失星际
Rank: 1
等 级:新手上路
帖 子:358
专家分:0
注 册:2004-7-9
得分:0 

for(i=m;;i++)

直接从i=m 开始循环,这样就要好一点点-_-b


2004-10-11 14:23
liveall
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-10-11
得分:0 
[IMG]http://liveall.home.[/IMG]

2004-10-11 14:30
迷失星际
Rank: 1
等 级:新手上路
帖 子:358
专家分:0
注 册:2004-7-9
得分:0 
-_-b
我那个用在楼主的程序不行
现在发现楼主的比我以前想的要好很多阿

2004-10-11 15:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-6310-1-1.html




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

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