c語言中2 km,輸入m,怎麼輸出k的最大值

時間 2021-05-06 03:00:12

1樓:

在迴圈裡判斷 2^i 的值,當大於m時,結束迴圈,取 i-1 就是k的值了

2樓:

while迴圈,k++;

3樓:匿名使用者

迴圈,逐次計算、對比是否<=m

~~~~~~~~~~~

c語言,輸入2,5; 輸出2,2 ,5(似乎是求最大值)

4樓:

for(i=0;i<=m;i++)

f[i]=0;//將f的前m+1個單元0...m賦值為0

f[k+1]=1; //將k+1單元賦值為1

for(i=k;i<=m;i++)//從單元k開始到單元m結束

for(j=i-k;j<=i-1;j++)    //從單元i的前k個單元開始到i的前1個單元結束

f[i]+=f[j]; //計算f[i]=f[i]+f[j],即將單元i的前k個單元的值累加起來賦給單元i

printf("%d%10d%10d",k,m,f[m]);//輸出f[m]

這段程式的功能有點像斐波那契數,就是每個單元(i>=k)的值是前k個單元的累加和,如果k=2實際上就是斐波那契數,若k=3,m=8,則

0 0 0 0 1 0 0 0 0 f[3]=1其餘為0

0 0 0 0 1 0 0 0 0 i=k時

0 0 0 0 1 0 0 0 0 i=k+1時

0 0 0 0 1 1 0 0 0 i=k+2時

0 0 0 0 1 1 2 0 0 i=k+3時

0 0 0 0 1 1 2 4 0 i=k+4時

0 0 0 0 1 1 2 4 7 i=k+5時

不知道是否解釋清楚,若滿意,望採納!

5樓:平語絲

這個程式是錯誤的

#define max 100

main()

(少了括號)

printf("%d%10d%10d",k,m,f[m]);

}而且你的問題也問得不清楚!!!(如果是求最大值,是求哪些數的最大值???因為不知道具體問題,所以以上程式仍有誤吧)

c語言,將十進位制正整數m轉換成k(2<=k<=9)進位制數,並按位數輸出。

6樓:匿名使用者

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

aa[i]=m%k;

如果m=3 k=4

當i=0時

這時aa[0]=3;

m=3/4=0;

結束,但是最後還有i++;i=1;

所以最後的i++執行是多餘的,所以要減1

輸出aa[i-1]開始

void fun(int m, int k)int aa[20],i;

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

//答案少了大括號

for(;i;i--)

printf("%d",aa[i-1]);

7樓:veket的小號

i=1printf a[1-1] a[0]

i=0迴圈結束

8樓:匿名使用者

陣列的下標是從0開始的,i-1即是陣列的最後一個元素,所以是aa[i-1],而不是aa[i]

c語言問題:要求從鍵盤上輸入整數m和k,輸出大於且緊靠m的k個素數。

9樓:v罙愛謀女孓

#include

main()

}if(j==i)} }

已經除錯完畢。

10樓:

int sushu(int n)

void main()

printf("\n");}

c語言,讀入一個整數k(2<=k<=10000),輸出它的所有質因子

11樓:

1、m代表的應該是開關 你這個函式雖然沒有寫返回型別 但是應該是bool型別或者int型別的返回值,當m=0時返回代表你所以輸入的n值不是質數,m=1時代表你輸入的值是質數。

2、n代表你要輸入的值(判斷是否是質數),這個函式不是產生質數的,而是判斷你輸入進去的n值是否是質數。

下面給你整段註釋下 希望對你有幫助:

isprime ( int n )//前面最好有個int或者bool型別的返回值,判斷輸入的n是否是質數

return(m);}

12樓:

宣告一個int型變數i,在2至i*i<=k的範圍內遍歷,當i能夠整除k時,判斷i和k/i二者是不是質數,是則輸出i和(或)k/i,這樣就達到題目要求了。舉例**如下:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

int prime(int n)

int main(void)

for(x=0,i=2;i*i<=k;i++)if(k%i==0)

if(!x) printf("%d",k);//沒有整除k的i,說明k是質數

printf("\n");

return 0;}

13樓:匿名使用者

1.m是用來標記的,m=1代表n是質數,m=0代表不是質數.

2.n代表要判斷的數

3.相當於if(n%i==0) 如果n除i的餘數為0,說明n不是質數,那就return 0;

isprime ( int n )

return(m);//m=1代表n是質數,m=0代表不是質數}

14樓:匿名使用者

isprime ( int n )

return(m);

}1. 上面解釋了,是個標記位

2.n代表一個質數,就是檢查n

15樓:匿名使用者

isprime ( int n )

return(m);}

c語言作業:【問題描述】 輸入2個正整數m和n(m≥1,n≤10 000),輸出m ~n 之間所有的fibonacci數。

16樓:鏡影汐

我也在做這道題,借鑑了你的呼叫函式,上傳後沒問題的~#include

int main(void)

return 0;

}int fib(int i)

17樓:阿薩德

你這個很明顯是while導致一直迴圈 因為你m和n總是滿足while裡面的條件,結果就會一直做while迴圈裡的語句。導致死迴圈了。可以的話把while刪了或者換成if就行了

18樓:匿名使用者

醬油~~~~~~~~

19樓:匿名使用者

while(m>=1&&n<=10000&&m<=n)

//加一

句break;

20樓:zero龜仔

我了個去~!這和我之前一道實驗題也是差不多,也是要這個函式,但是,看起來好複雜哦~你這個。

21樓:高聖昌

做任務。。。路過。。。打醬油ing。。。表打我。。。

c語言怎樣輸出2位小數,c語言中怎麼保留小數2位

四舍 入 include void main double a,b,c,d 此處不需要 隔開 d a b c 3 printf 2f n d 正確格式 2f 吉祥二進位制 在c語言中讓一個數保留2位小數可以通過精度限定符來完成,精度限定符有一個點號後跟一個整陣列成。其準確含義依賴於它所修飾的資料型別...

c語言x x 2什麼意思,c語言中,x 2是什麼意思?

象長順居念 指的是 x x 指的是x x c語言的執行順序是從右到左 x x 2 先計算右邊的 x 2再用 結果帶入到x 中. 廉秀雲班環 x a等價於x x a 賦值運算子當中,有一類c c 獨有的複合賦值運算子。它們實際上是一種縮寫形式,使得對變數的改變更為簡潔。total total 3 它的...

c語言中商數要求保留2位小數,怎麼辦

在c語言中,可以使用 m.nf,指定輸出的資料佔m列,n位小數,其中m前可以加 表示左對齊,預設是右對齊。要求保留2位小數,可以寫成 2f。例項 如下 include int main float a 3.14 float b 3 printf 2f n a b printf 7.2f n a b ...