#25527: 求解!! 用遞迴函數


u0921339@gm.nuu.edu.tw (陳冠維)

學校 : 不指定學校
編號 : 155229
來源 : [101.136.239.16]
最後登入時間 :
2021-10-06 13:14:03
a010. 因數分解 | From: [101.137.139.144] | 發表日期 : 2021-05-29 17:58

安安這是小弟的程式,功能雖然有,但是無法達到題目的要求阿阿阿阿阿!!!

請問要怎麼計算它的次方呢,我試過在每個if裡面都加計數器i=i+1看他除幾次自己,但是我用printf來看的時候他的i還是=0阿,而且分解完後他還會自己分解自己到至結果出現一個1 請問該如何解決呢?

 

#include <stdio.h>

 

int facter(int);

 

int main()

{

int a;

scanf_s("%d", &a);

facter(a);

return 0;

}

 

int facter(int x)

{

        int i=0,j=0,k=0,l=0;                    //計數器

if (x % 2 == 0 || x % 3 == 0 || x % 5 == 0 || x % 7 == 0)

{

if (x % 2 == 0)

{

x = x / 2;

                        i=i++;

printf("2*");

return (facter(x));

}

if (x % 3 == 0)

{

x = x / 3;

                        j=j++;

printf("3*");

return (facter(x));

}

if (x % 5 == 0)

{

x = x / 5;

                        k=k++;

printf("5*");

return (facter(x));

}

if (x % 7 == 0)

{

                        l=l++;

x = x / 7;

printf("7*");

return (facter(x));

}

}

else

{

printf("%d", x);

}

        printf("\ni=%d,j=%d,k=%d,l=%d",i,j,k,l);

return 0;

}

 

 
#25528: Re:求解!! 用遞迴函數


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a010. 因數分解 | From: [1.168.24.96] | 發表日期 : 2021-05-29 18:13

如果遞迴函數再多一個參數當計數呢。

 
#25529: Re:求解!! 用遞迴函數


u0921339@gm.nuu.edu.tw (陳冠維)

學校 : 不指定學校
編號 : 155229
來源 : [101.136.239.16]
最後登入時間 :
2021-10-06 13:14:03
a010. 因數分解 | From: [101.137.139.144] | 發表日期 : 2021-05-29 18:24

如果遞迴函數再多一個參數當計數呢。


安安 您是說把 facter(int) 變成facter(int,int)嗎

 

我試試看!!

 
ZeroJudge Forum