c語言趣味100例 窮舉迴圈

2021-07-24 21:24:07 字數 932 閱讀 2742

窮舉迴圈:對於不定方程,可以利用窮舉迴圈的方法來解決,就是通過對未知數可變範圍的窮舉,驗證方程在什麼情況下成立,從而得到相應的解。

1.     百雞百錢問題:不定方程:cock+hen+chicken=100

5xcock+3xhen+chicken/3.0=100

示例:intcock,hen,chicken;

for(cock=0;cock<=20;cock++)

for(hen=0;hen<=33;hen++)

for(chicken=0;chicken<=100;chicken++)

if((cock+hen+chicken==100)&&(5*cock+3*hen+chicken/3.0==100))

printf("cock:%d,hen:%d,chicken:%d\n",cock,hen,chicken);

2.     借書方案:示例:for(a=1;a<=5;a++)

for(b=1;b<=5;b++)

for(c=1;c<=5&&a!=b;c++)

if(a!=c&&b!=c)

printf("a:%db:%d c:%d",a,b,c);

3.    車牌號碼:示例:for(i=0;i<10;i++)

for(j=0;j<=10;j++)

if(i!=j)

k=1000*i+100*i+10*j+j;

for(temp=31;temp<=99;temp++)

if(temp*temp==k)

printf("%d\n",k);

注意:優化演算法,減少迴圈次數:

1.     確定迴圈變數:chicken=100-cock-hen;

2.     在迴圈條件中加入判斷:for(c=1;c<=5&&a!=b;c++)

3.     盡早退出迴圈:if(flag)break;

c語言趣味程式設計100例 迭代迴圈

迭代迴圈 即是乙個不斷用新值取代變數的舊值,然後由變數舊值遞推出變數新值的過程,這種迭代與如下因素有關 初值,迭代公式,迭代次數。1.兔子產子問題 演算法可以描述為 fib fib2 1 n 1,2 初值 fibn fib n 1 fib n 2 n 3 迭代公式 程式如下 long fib1 1,...

c語言趣味程式設計100例 求車速

問題 求車速 一輛以固定行駛的汽車 司機在上午10點看歷程表上的讀數是乙個對稱數 既這個數從左往右和從右往左 完全是一樣的 為95859 兩個小時候歷程表上出現了乙個新的對稱數 該數稱為五位數 問該車的速度是多少 新的對稱數是多少 思路 我們可以從條件中獲取到對稱數是第一位與第五位一致 第二位和第四...

趣味100道C語言程式num four

求階乘位數0的個數 例如 求 100!的末尾有多少個0 分析 顯然100!的位數超出已知基本資料型別的範圍,所以不能單純的先求取出100!的數值,再判斷末尾有多少個0.尋找規律可以發現,該問題可以轉換成1 100的100個整數一共有多少個因數5,的問題。程式如下 include int main p...