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 ...