4 条题解

  • 1
    @ 2024-05-29 16:40:15

    这题坑就坑在它必须注意顺序

    /*题目描述:
    假设你有1角硬币n个,再添加一些5角、2角硬币凑出10元。请问,需要多少个5角、2角硬币呢?
    
    格式:
    输入:
    1个数字,表示1角硬币有几个。
    
    输出:
    输出一行,分别表示相应的5角、2角硬币的个数。如果没有这样的组合,就输出"N"*/
    
    #include <iostream>
    using namespace std;
    int main(){
        int one;
        cin>>one;
        if(100-one==1||100-one==3){
            cout<<"N"<<endl;
            return 0;
        }
        for(int five=0;five<=20;five++){
            for(int two=0;two<=50;two++){
                int sum=one+2*two+5*five;
                if(sum==100){
                    cout<<five<<" "<<two<<endl;
                }
            }
        }
    }
    
  • 1
    @ 2019-04-19 14:46:32

    转自毛老师的穷举法
    n=100-int(input())
    if n==1 or n==3:
    print("N")

    else:
    for a in range(n//5+1):
    for b in range(n//2+1):
    if(5*a+b*2==n):
    print(a,b)

  • 0
    @ 2022-04-01 20:55:00
    #include <iostream>
    #include <functional>
    
    using namespace std;
    
    int main()
    {
        int n; cin >> n;
        n = 100 - n;
        int cnt(0);
        function<void(int&, int)> Main = [=](int& cnt, int x) -> void {
            for (int i = 0; i <= 20; i ++ )
                for (int j = 0; j <= 50; j ++ )
                    if (5 * i + 2 * j == x)
                        printf("%d %d\n", i, j), cnt ++ ;
        };
        Main(cnt, n);
        if (!cnt) puts("N");
        return 0;
    }
    
  • 0
    @ 2019-04-04 22:17:47

    c=5
    d=0
    a=int(input())
    b=a
    if a<97 or a==98:
    if a%2==0:
    while b<=100:
    c=(100-b)/2
    print(int(d), int(c))
    b=b+10
    d=d+2
    else :
    if a<=95:
    b=a+5
    while b<=100:
    c=(100-b)/2
    print(int(d+1), int(c))
    b=b+10
    d=d+2
    else :
    print("N")

    haoren

  • 1

信息

难度
8
分类
(无)
标签
(无)
递交数
392
已通过
60
通过率
15%
被复制
2
上传者