📄 subject_17154.htm
字号:
<p>
序号:17154 发表者:dreamer 发表日期:2002-10-09 00:05:26
<br>主题:请问这个求最小公倍数的函数有什么地方不对
<br>内容:请问这个求最小公倍数的函数有什么地方不对<BR><BR>int y(int c,int d)<BR>{<BR> int p;<BR> for (p=c;p<=(c*d);p++)<BR> {<BR> if ((p%c==0)&&(p%d==0))<BR> {<BR> return p;<BR> break;<BR> }<BR> else continue;<BR> }<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:阿鬼 回复日期:2002-10-09 00:25:50
<br>内容:/*求n个数的最大公约数*/<BR>#include <stdio.h><BR>main()<BR>{<BR>long Common(long a,long b); /*函数声明*/<BR>long s[100]; /*存放输入数和公倍数*/<BR>int i,N; /*计数器和输入数字的数量*/<BR>scanf("%d",&N);<BR>for(i=0;i<N;i++)<BR>scanf("%ld",&s[i]);<BR>s[N]=s[0];<BR>for(i=1;i<N;i++)<BR> s[N]=(s[N]*s[i])/Common(s[N],s[i]); /*调用函数得最小公约数*/<BR> printf("%d\n",s[N]); <BR>}<BR><BR>long Common(long a,long b)<BR>{<BR> if(a%b==0)return(b); /*如果a能整除b,自然b是最大公约数*/<BR> else Common(b,a%b); /*如不能,如边,证明如下*/<BR>}<BR>/*<BR>不妨假设a和b的最大公约数为n,既a能整除n,b也行。<BR>我们只要证明a%b也行就ok了~而a%b=(a-(a/b)*b),很明显a%b也能整除n。<BR>注:a/b是取整的。<BR>*/
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:青山 回复日期:2002-10-09 01:12:09
<br>内容:程序中的语句:break是多余的,应该不被执行;<BR>语句:else continue省去应该更精简吧<BR><BR><BR>我是初学者,不对之处还希指教。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:阿鬼 回复日期:2002-10-09 01:39:11
<br>内容:1。如楼上所言<BR>2。需要比较 c d的大小<BR>3。看是否c是d,或d是c的最大公倍数<BR>4。算法优化:应该先求他们的最小大约数
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Norton AntivVirus 回复日期:2002-10-09 08:42:46
<br>内容:int y(int c, int d)<BR>{<BR> int p;<BR> for(p = max(c, d); p <= c * d; p ++)<BR> {<BR> if ((p % c == 0) && ( p % d == 0))<BR> break;<BR> }<BR> return p;<BR>} <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -