作者jpjpjp (二花)
看板ask
標題[請問] C語言寫法?(數學排列)
時間Tue Jul 8 10:26:23 2025
大家好,
數學題目如下↓
哨音,長3秒、短2秒,皆間隔1秒,現歷時25秒,有幾種組合方式?答:49。
我可以用c寫出它的組合方式是(x, y)=(2, 6), (5, 2)
但要如何才能用c,同時算出排法有49種呢?
附上原始碼,感謝回覆!
int j=1;
for (int x=1; x<=10; x++) {
for (int y=1; y<=10; y++) {
if (((4*x)+(3*y))==26)
printf("(x, y)=(%d, %d), 4x*3y=%2d, run=%d\n", x, y,
(4*x+3*y), j);
j++;}}
return 0;}
/* (x, y)=(2, 6), 4x*3y=26, run=16
(x, y)=(5, 2), 4x*3y=26, run=42 */
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.234.112 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ask/M.1751941585.A.B86.html
1F:→ jpjpjp: xy的初始範圍有更好的設定方式嗎?畢竟一開始皆無知。 07/08 10:27
2F:推 blackbox: 找到(2,6)(5,2)接下來就算C(8,2)跟C(7,2) 07/08 10:55
3F:→ kobe8112: 你應該先問問自己,你的起始條件跟終止條件的值是怎麼 07/08 11:00
4F:→ kobe8112: 決定的 07/08 11:01
5F:→ gfang: 問AI不是比較快 07/09 00:34
6F:→ jpjpjp: 預先知道答案才設10,但想問在未知情況下,如何找到最佳? 07/09 08:26
7F:→ yeeouo: 代碼問題一律問claude 07/09 12:29
8F:→ Ricestone: 這程式碼是你寫的嗎? 沒有規定要用什麼方法解嗎? 07/09 13:49
9F:→ Ricestone: 如果這樣的算法可以接受,那這限制條件你就直接想 07/09 13:51
10F:→ Ricestone: 全都長也就頂多9個y,全都短也就頂多13個x而已 07/09 13:52
11F:→ Ricestone: 這個頂多怎麼來,就是除法 07/09 13:52
12F:→ Ricestone: 講錯,是7個x與9個y 07/09 13:53
13F:→ Ricestone: 喔有用等號的話那就都各減1 07/09 13:58
14F:→ Ricestone: 各減2才對 另外為什麼你的x,y,j初始都設1? 07/09 14:00
15F:→ Ricestone: j都沒印到的話是沒差啦 只是一貫性比較低 07/09 14:05