99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

c語言函數調用求親密數 C語言求親和數

C語言 求親密數 問題。大神請進!

while(ia)

昌平網站建設公司創(chuàng)新互聯建站,昌平網站設計制作,有大型網站制作公司豐富經驗。已為昌平超過千家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站建設要多少錢,請找那個售后服務好的昌平做網站的公司定做!

{

i=i+1;

這樣當i=a-1時,會進入循環(huán),然后i加1,變成了a,并參與了運算,因此會得出錯誤結果。

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

while(++ia)

{

//i=i+1;

應該就正確了。

C語言求親密數 函數方法

#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=facsum(n,a,b);

if(n==aa=b)

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

}

}

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

{

int i;

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

if(!(*a%i))

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

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

if(!(*b%i))

n+=i;

return n;

}

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

c語言 求出親密數對

大概看了一下,你判斷是否為因子的地方有問題,應該用取余運算符號:%

用除號是不行的,呵呵。

另外,你把求一個數的因子和,寫成一個函數,這樣的話,程序看起來更明了,你也不容易混亂。

求因子和的函數如下:

int?sumf(int?num)

{

int?i,sum?=?0;

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

{

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

{

sum?+=?i;?

}???

}

return?sum;

}

不過你所說的因子是否包含了1和數本身?如果包含的話,我運行了一下,2到1000好像沒發(fā)現有滿足條件的。

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

#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語言編程題 編寫程序,求500以內的所有親密數對。

#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]);

/* 上面是有序的因子之和 , 下面開始判斷是不是親密對數 */

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語言訓練】親密數

#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) //因為要小的數在前面所以應該是小于

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;//因為你在主函數中會用到因子的和這個值,所以你必須要把調用函數的值返回給主函數

}

這是我修改的你的代碼,輸出符合你的要求,不過3000以內的親密數好像只有3對

新聞標題:c語言函數調用求親密數 C語言求親和數
標題來源:http://www.yijiale78.com/article24/hhsoce.html

成都網站建設公司_創(chuàng)新互聯,為您提供網頁設計公司品牌網站建設App開發(fā)面包屑導航營銷型網站建設電子商務

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都app開發(fā)公司