本文目錄一覽:
- 1、c語言中怎麼表示兩個兩位數相乘等於一個兩位數和一個三位數相乘?限定這些數為1~9,且不重複。
- 2、關於百雞問題的c++程序
- 3、c語言 while if語句
- 4、窮舉法是什麼,有什麼用,怎麼計算?
c語言中怎麼表示兩個兩位數相乘等於一個兩位數和一個三位數相乘?限定這些數為1~9,且不重複。
這是你要的效果么
用了窮盡法代碼有點複雜
#include stdio.h
#include stdlib.h
int main(void)
{
long a = 1, b = 1, c = 1, d = 1;
int aa[9] = {0}, flag = 1, i = 1, j = 1;
for(a = 10; a 100; a++)
{
for(b = 10; b 100; b++)
{
for(c = 10; c 100; c++)
{
for(d = 100; d 1000; d++)
{
if(a * b == c * d)
{
aa[0] = a / 10;
aa[1] = a % 10;
aa[2] = b / 10;
aa[3] = b % 10;
aa[4] = c / 10;
aa[5] = c % 10;
aa[6] = d / 100;
aa[7] = d % 100 / 10;
aa[8] = d % 10;
for(i = 0; i 9; i++)
{
for(j = i + 1; j 9; j++)
{
if(aa[i] == aa[j])
flag = 0;
else
continue;
}
}
if(flag)
printf(“%ld * %ld = %ld * %ld\n”, a, b, c, d);
else
flag = 1;
}
}
}
}
}
return 0;
}
關於百雞問題的c++程序
這道題是明顯的窮舉!
#includeiostream
using namespace std;
int main()
{
int a =0;//表示公雞數
int b =0;//表示母雞數
int c =0;//表示小雞數
for(a =0; a=100/5; a++)//枚舉公雞數,最大20隻
{
for(b=0; b=100/3; b++)//枚舉母雞數,最大33隻
{
c = 100-a-b;//求出小雞數
if(c % 3 == 0 a*5 + b*3 + c/3 == 100)
{
//如果小雞的數目是3的倍數,並且所有雞總價值是100快,就輸出
cout”公雞:”a” 母雞:”b” 小雞:”cendl;
}
}
}
return 0;
}
你也可以枚舉錢數,將只數加起來等於100的輸出!
c語言 while if語句
#include stdio.h
main()
{
int x,y,z,j=0;
printf(“following are possible plans to buy 100 fowls with 100Yuan.\n”);
for(x=0;x=20;x++)
for(y=0;y=33;y++)
{
z=100-x-y;
if(z%3==05*x+3*y+z/3==100)
printf(“%2d:cock=%2d hen=%2d chick=%2d”,++j,x,y,z);
}
}
看完如果搞不懂,可以給我留個郵箱,我有個資料,專門講這一類問題的C編程的,我可以郵箱給你
窮舉法是什麼,有什麼用,怎麼計算?
窮舉法又稱列舉法、枚舉法,是蠻力策略的具體體現,是一種簡單而直接地解決問題的方法。其基本思想是逐一列舉問題所涉及的所有情形,並根據問題提出的條件檢驗哪些是問題的解,哪些應予排除。
窮舉的作用
1、理論上,窮舉可以解決可計算領域中的各種問題。尤其處在計算機計算速度非常高的今天,窮舉的應用領域是非常廣闊的。
2、 在實際應用中,通常要解決的問題規模不大,用窮舉設計的算法其運算速度是可以接受的。此時,設計一個更高效率的算法代價不值得。
3、 窮舉可作為某類問題時間性能的底限,用來衡量同樣問題的更高效率的算法。
窮舉怎麼計算:
1、根據問題的具體情況確定窮舉量(簡單變量或數組);
2、根據確定的範圍設置窮舉循環;
3、根據問題的具體要求確定篩選約束條件;
4、設計窮舉程序並運行、調試,對運行結果進行分析與討論。 當問題所涉及數量非常大時,窮舉的工作量也就相應較大,程序運行時間也就相應較長。為此,應用窮舉求解時,應根據問題的具體情況分析歸納,尋找簡化規律,精簡窮舉循環,優化窮舉策略。
擴展資料:
窮舉法的基本思想是根據題目的部分條件確定答案的大致範圍,並在此範圍內對所有可能的情況逐一驗證,直到全部情況驗證完畢。若某個情況驗證符合題目的全部條件,則為本問題的一個解;若全部情況驗證後都不符合題目的全部條件,則本題無解。窮舉法也稱為枚舉法。
用窮舉法解題時,就是按照某種方式列舉問題答案的過程。針對問題的數據類型而言,常用的列舉方法一有如下三種:
(1)順序列舉 是指答案範圍內的各種情況很容易與自然數對應甚至就是自然數,可以按自然數的變化順序去列舉。
(2)排列列舉 有時答案的數據形式是一組數的排列,列舉出所有答案所在範圍內的排列,為排列列舉。
(3)組合列舉 當答案的數據形式為一些元素的組合時,往往需要用組合列舉。組合是無序的。
參考資料:百度百科-窮舉法
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/291267.html