无思路啊,,怎么破,,

CSDN问答 2021-12-30 13:51:03 阅读数:439

编程开发 思路 CSDN问答

用30人包括男人,女人和孩子,在一家饭馆用餐,总共消费50美元,其中每个男人个消费3美元,每个女人消费2美元,每个小孩个消费1美元,请问男人女人和孩子各消费多少美元?




采纳答案:

循环暴力破解,用多个答案:

#include <stdio.h>int main(){ for(int i=1;i<30;i++) for(int j=1;j<30;j++) for(int k=1;k<30;k++) if (i*3+j*2+k==50 && i+j+k==30){ printf("男人女人和孩子各消费:%d、%d和%d美元。\n",i*3,j*2,k); //printf("男人女人和孩子人数各:%d、%d和%d人。\n",i,j,k); } printf("\n"); //或者用2个变量 for(int i=1;i<30;i++) for(int j=1;j<30;j++) if (i*3+j*2+(30-i-j)==50){ printf("男人女人和孩子各消费:%d、%d和%d美元。\n",i*3,j*2,30-i-j); //printf("男人女人和孩子人数各:%d、%d和%d人。\n",i,j,30-i-j); } return 0;}

求人数再用后一句printf()



其他答案2:

你可以先去了解动态规划算法


其他答案3:

假设有a个男人,b个女人,c个小孩
可得ax3+bx2+cx1=50
然后你列个3重for循环,看什么样的组合能实现这个等式呗


其他答案4:
for (int i = 0; i <= 30; i++) { for (int j = 0; j <= 30 - i; j++) { for (int k = 0; k <= 30 - i - j; k++) { if (3 * i + 2 * j + k == 50) { printf("%d, %d, %d\n", 3 * i, 2 * j, k); } } }}
版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7613155