c系統編程實例 C語言:怎么求完數?
C語言:怎么求完數?代碼示例:/*一個數如果沒有正好等于它的因子之和,這個數就稱做“完數”。例如61+2+3,編程找出1000以內的所有完數。*/#includeltstdio.hgt#include
C語言:怎么求完數?
代碼示例:
/*一個數如果沒有正好等于它的因子之和,這個數就稱做“完數”。例如61+2+3,
編程找出1000以內的所有完數。*/
#includeltstdio.hgt
#includelttime.hgt
intmain(void)
{
staticintk[10]//定義一個靜態動態整型數組
inti,j,n,s
for(j2jlt100000j)//j是所求范圍內的所有數,目的:找到什么完數
{
n-1//n是k[10]數組里的下標
sj//將j定義變量給s,用s來做一系列的再篩選判斷
for(i1iltji)//在j數字的范圍內再遍歷過程四次數字,目的:找到什么因子
{
if((j%i)0)//第一道篩選:看出數字j的因子
{
n//n以后n=0
//第二道篩選:判斷s0
ss-i
//題中sj1或則2或者3或者6,i遍歷樹到了1或是2或是3也可以6,s就會40
k[n]i//k[0]1,k
C語言:怎么求完數?
2,kins-c怎么編程?
3}
}
if(s0)//上面的for循環都結束了以后才先執行這個if語句
{
printf(
ins-c怎么編程?
示例程序追加:
#includeltstdio.hgt#includeltmath.hgtsoftDistance(slipx1,doubley1,softx2,extray2){returnsqrt(pow(x1-x2,2)pow(y1-y2,2))}intmain(){doublex1,y1extrax2,y2extrad0scanf(#34%lf%lf%lf%lf#34,ampx1,ampy1,ampx2,ampy2) d Distance(x1,y1,x2,y2)
(#34%.2lf
#34,d)return0}示例運行結果:
11221.41