真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言函數(shù)調(diào)用求親密數(shù) C語(yǔ)言求親和數(shù)

C語(yǔ)言 求親密數(shù) 問(wèn)題。大神請(qǐng)進(jìn)!

while(ia)

昌平網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,昌平網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為昌平超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的昌平做網(wǎng)站的公司定做!

{

i=i+1;

這樣當(dāng)i=a-1時(shí),會(huì)進(jìn)入循環(huán),然后i加1,變成了a,并參與了運(yùn)算,因此會(huì)得出錯(cuò)誤結(jié)果。

將以上代碼改為:(注意,第二個(gè)也要改)

while(++ia)

{

//i=i+1;

應(yīng)該就正確了。

C語(yǔ)言求親密數(shù) 函數(shù)方法

#includestdio.h

int main()

{

int a,b,n;

int facsum(int n,int *a,int *b);

printf("There are following friendly--numbers pair smaller than 500:\n");

for(a=1;a500;a++) /*窮舉500以內(nèi)的全部整數(shù)*/

{

n=facsum(n,a,b);

if(n==aa=b)

printf("%4dand%d\n",a,b); /*若n=a,則a和b是一對(duì)親密數(shù),輸出*/

}

}

int facsum(int n,int *a,int *b)

{

int i;

for(*b=0,i=1;i=*a/2;i++) /*計(jì)算數(shù)a的各因子,各因子之和存放于b*/

if(!(*a%i))

*b+=i; /*計(jì)算b的各因子,各因子之和存于n*/

for(n=0,i=1;i=*b/2;i++)

if(!(*b%i))

n+=i;

return n;

}

呵呵,樓主,你還是多看看函數(shù)的用法吧,先理清邏輯。

c語(yǔ)言 求出親密數(shù)對(duì)

大概看了一下,你判斷是否為因子的地方有問(wèn)題,應(yīng)該用取余運(yùn)算符號(hào):%

用除號(hào)是不行的,呵呵。

另外,你把求一個(gè)數(shù)的因子和,寫成一個(gè)函數(shù),這樣的話,程序看起來(lái)更明了,你也不容易混亂。

求因子和的函數(shù)如下:

int?sumf(int?num)

{

int?i,sum?=?0;

for(i?=?1;i?=?num;?i?++)

{

if(num?%?i?==?0)

{

sum?+=?i;?

}???

}

return?sum;

}

不過(guò)你所說(shuō)的因子是否包含了1和數(shù)本身?如果包含的話,我運(yùn)行了一下,2到1000好像沒(méi)發(fā)現(xiàn)有滿足條件的。

如果不包含1和本身,倒是有幾個(gè),全程序是這樣:

#include?stdio.h

#include?stdlib.h

int?main(void)

{???int?i;?

for(i?=?2;?i??1000;?i++)

{??????

//printf("%d--%d--%d\n",i,sumf(i),sumf(sumf(i)));

if(i?==?sumf(sumf(i)))

{

printf("%d????%d\n",i,sumf(i));

}????

}?

system("pause");

return?0;

}

int?sumf(int?num)

{

int?i,sum?=?0;

for(i?=?2;i??num;?i?++)

{

if(num?%?i?==?0)

{

sum?+=?i;?

}???

}

return?sum;

}

c語(yǔ)言編程題 編寫程序,求500以內(nèi)的所有親密數(shù)對(duì)。

#include stdio.h

#define N 500

int result[N];

/* calculate one number */

int facsum(int n)

{

int sum = 0, i;

for (i = 1; i = n; i++) {if (n % i == 0) sum += i;}

return sum;

}

int swap (int begin, int end)

{

int temp;

temp = begin; begin = end; end = temp;

return 0;

}

int main()

{

int i, j ;

for (i = 0; i N; i++){

result[i] = facsum(i+1);

}

for (i = 1; i N; i++){

for (j = N; j i; j--){

if (result[j-1] result[j]) swap(j-1, j);

}

}

for (i = 0; i N; i++)

printf("%d\n", result[i]);

/* 上面是有序的因子之和 , 下面開(kāi)始判斷是不是親密對(duì)數(shù) */

for (i = 1; i = 20; i++){

if (facsum(facsum(i)) == i)

printf("%d and %d is inimite num!\n", i, facsum(i));

}

return 0;

}

【C語(yǔ)言訓(xùn)練】親密數(shù)

#includestdio.h

#define N 3000Yzh();

void main()

{

/*int a; scanf("%d",a); printf("%d",Yzh(a));*/

int a,b,i,j;

for(i=2;iN;i++)

{

a = Yzh(i);

for(j=2;jN;j++)

{

b = Yzh(j);

if(a==j b==i ij) //因?yàn)橐〉臄?shù)在前面所以應(yīng)該是小于

printf("(%d,%d)",i,j);

}

}

}

int Yzh(int x)

{

int n,sum=0;

for(n=1;n=x/2;n++)

{

if(x%n==0)

sum+=n;

}

return sum;//因?yàn)槟阍谥骱瘮?shù)中會(huì)用到因子的和這個(gè)值,所以你必須要把調(diào)用函數(shù)的值返回給主函數(shù)

}

這是我修改的你的代碼,輸出符合你的要求,不過(guò)3000以內(nèi)的親密數(shù)好像只有3對(duì)


網(wǎng)站題目:c語(yǔ)言函數(shù)調(diào)用求親密數(shù) C語(yǔ)言求親和數(shù)
本文鏈接:http://weahome.cn/article/hhsoce.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部