楼主:
jpjpjp (jp)
2025-07-08 10:26:23大家好,
数学题目如下↓
哨音,长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 */
这程式码是你写的吗? 没有规定要用什么方法解吗?如果这样的算法可以接受,那这限制条件你就直接想全都长也就顶多9个y,全都短也就顶多13个x而已这个顶多怎么来,就是除法讲错,是7个x与9个y喔有用等号的话那就都各减1各减2才对 另外为什么你的x,y,j初始都设1?j都没印到的话是没差啦 只是一贯性比较低