问题标题: 酷町堂:1585 买面包

0
0
已解决
熊智晖
熊智晖
高级天翼
高级天翼

1585   买面包

经验值:800 时间限制:1000毫秒

题目描述 Description

面包店有三种面包,价格分别是8块,5块和3块。小明现在有100元,要给班里的20个同学各买一个面包,请问100元都用完的情况下有几种买法。

输入描述 Input Description

输出描述 Output Description

一个数字,表示买的方法

样例输入 Sample Input

样例输出 Sample Output

#include<iostream>
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
long long n,a,b,c=0,d=0,t,sum=0,cnt=0;  
int main(){
    //freopen("1432.in","r",stdin);
    //freopen("1432.out","w",stdout);
    for(int i=1;i<=20;i++) {
        for(int j=1;j<=20;j++) {
            for(int k=1;k<=20;k++) {
                if(i*8+j*5+k*3==100&&i+j+k==20){
                    cnt++;
                }
            }
        }
    }
    cout<<cnt;
    fclose(stdin);
    fclose(stdout);
    return 0;   
}

0分???


0
已采纳
张恩泽
张恩泽
高级天翼
高级天翼

这题双重循环就可以了

因为如果求出8块,5块的个数,3块的个数就可以直接算出来

这个应该会算吧

然后这个循环应该从0开始,因为钱的个数可以是0张

8块最多只会有12张,5块最多只会有20张

循环里面判断钱数和符不符合条件

最有算出答案,直接输出即可

张恩泽在2021-07-16 22:13:41追加了内容

如果还是不会你就说一下,这题只有一个测试点

so......[doge]

0
李牧晓
李牧晓
中级天翼
中级天翼

哈喽,同班同学

这一题直接

cout<<"5";

 

就好啦

望采纳

谢谢!

0
0
我要回答