您現在的位置是:首頁 > 人文
百元買百雞的經典問題解決
求百錢買百雞用什麼方法
題目:中國古代數學家張丘建在他的《算經》中提出了一個著名的“百錢百雞問題”:一隻公雞值五錢,一隻母雞值三錢,三隻小雞值一錢,現在要用百錢買百雞,請問公雞、母雞、小雞各多少隻?
方法一:使用三層迴圈解決。最內層迴圈每次增三,比自增一效率了三分之二。
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main(int argc, char *argv[])
{
/*中國古代數學家張丘建在他的《算經》中提出了一個著名的“百錢百雞問題”:
一隻公雞值五錢,一隻母雞值三錢,三隻小雞值一錢,現在要用百錢買百雞,
請問公雞、母雞、小雞各多少隻?*/
for (size_t i = 0; i < 100/5; i++)
{
for (size_t j = 0; j < 100/3; j++)
{
for (size_t k = 0; k < 100; k+=3)
{
if (i + j + k == 100 && i*5 + j*3 + k/3 == 100)
{
printf(“公雞:%d母雞:%d小雞:%d\n”, i, j, k);
}
}
}
}
system(“pause”);
return 0;
}
方法二:使用雙層迴圈解決。注意要加chicken % 3 == 0的條件,防止整數除法向下取整的情況。
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main(int argc, char *argv[])
{
for (size_t i = 0; i < 100 / 5; i++)
{
for (size_t j = 0; j < 100 / 3; j++)
{
int chicken = 100 - i - j;
if (i + j + chicken == 100 && i * 5 + j * 3 + chicken / 3 == 100 \
&& chicken % 3 == 0)
{
printf(“公雞:%d母雞:%d小雞:%d\n”, i, j, chicken);
}
}
}
system(“pause”);
return 0;
}
上一篇:年輕一代:不設限,才痛快
推薦文章
- 民間創奇:李家打死黑蛇,見黑蜘蛛形色焦急,土地公說你家運盡了
李明有是李老太最小的孩子,可憐他沒有父親的照拂,驕縱得他不成樣子...
- 清華“飛行員班”首批女學員放單飛 渴望“飛更好的飛機”
據介紹,2019年,清華大學首度招收了5名空軍女飛行學員,她們已經在清華完成了公共基礎課程和航空航天工程專業課程的學習,並在暑期回到航空大學進行跳傘、射擊、野外生存拉練等軍事課目訓練...
- 盤點天花板級別的改編,還原度百分百,觀眾和原著粉雙滿足
這裡,小匡就給大家盤點一波天花板級別的改編,幾乎原封不動的照搬,大大滿足了原著粉和普通觀眾...