⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_43688.htm

📁 vc
💻 HTM
字号:
<p>
序号:43688 发表者:ごBBの魔封波 发表日期:2003-06-13 03:38:03
<br>主题:[求助] 刚学C语言 --求"完数"
<br>内容:[求助] 刚学C语言 --求"完数"<BR><BR>#include &lt;stdio.h&gt;<BR>#define M 1000<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int i,j,s;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(j=2;j&lt;=M;j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;s=j;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(i=1;i&lt;j;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if((j%i)==0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;s=s-i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*请问这里为什么要求s=s-i */<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(s==0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 前面己经要s=j; s有可能等于0吗?*/<BR>&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n",j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:bird 回复日期:2003-06-13 10:00:29
<br>内容:一个数如果正好等于其因子之和,就称其为"完数"。例如6的因子是1,2,3,并且6=1+2+3,所以6是一个"完数"。<BR><BR><BR>#include &lt;stdio.h&gt;<BR>#define M 1000<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int i,j,s;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(j=2;j&lt;=M;j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;s=j;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(i=1;i&lt;j;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if((j%i)==0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //i是否为j的一个因子!如果是,则S减去i<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;s=s-i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*请问这里为什么要求s=s-i *///因为因子之和<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(s==0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 前面己经要s=j; s有可能等于0吗?*///s==0时表示s是j的因子之和<BR>&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n",j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<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>
回复者:ごBBの魔封波 回复日期:2003-06-13 14:17:00
<br>内容:/*多谢各位。我是刚学到循环。麻烦大家。大家讲解的很详细,谢谢*/<BR><BR>#include &lt;stdio.h&gt;<BR>#define M 1000<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int k0,k1,k2,k3,k4,k5,k6,k7,k8,k9;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int i,j,n,s;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(j=2;j&lt;=M;j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;n=0; s=j;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;j;i++)&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((j%i)==0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { n++; s=s-i; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(n) /*将每个因子赋给k0,k1....k9*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 1 : k0=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 2 : k1=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 3 : k2=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 4 : k3=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 5 : k4=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 6 : k5=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 7 : k6=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 8 : k7=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 9 : k8=i; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 10 : k9=i; break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*这里n超过11时,怎么办?*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(s==0)&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; printf("%d是一个'完数'.它的因子是:",j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d,%d",k0,k1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(",%d",k2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;3)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d",k3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;4)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(",%d",k4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;5)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(",%d",k5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;6)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(",%d",k6);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;7)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(",%d",k7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;8)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(",%d",k8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;9)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(",%d",k9);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp; }<BR>}<BR><BR><BR><BR><BR><BR>还有第二个问题。<BR><BR>&nbsp;&nbsp; 20<BR>求 ∑n! (即求1!+2!+3!+4!+、、、、、+20!)<BR>&nbsp;&nbsp; n=1<BR>等于多少,怎样求?<BR><BR><BR>如果是: 1!+2!&nbsp;&nbsp; 又是多少?<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>
回复者:adam&amp;amp;ancy 回复日期:2003-06-15 20:54:09
<br>内容:#include &lt;iostream.h&gt;<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int s=1,sum=0,n=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(n=1;n&lt;=4;n++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s=s*n;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum=sum+s;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"sum="&lt;&lt;sum&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>20的阶乘!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:adam&amp;amp;ancy 回复日期:2003-06-15 20:55:40
<br>内容:哦,将那个n&lt;=4,该为n&lt;=20就对了!^_^ 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:adam&amp;amp;ancy 回复日期:2003-06-15 20:57:51
<br>内容:你上面那道题目,一超过十一,它会break 跳出循环!自己看下continue和break的区别!<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 + -