top1编程
← 返回题目
题解

【基础】统计组合方式

1 条题解

  • 0
    @ 2026-7-29 0:19:24
    #include <bits/stdc++.h>
    using namespace std; 
    
    int main() {
    	int t;
    	cin>>t;
    	for(int p=1;p<=t;p++){
    		int n,m,sum=0;//注意这里的sum初始化为0
    		cin>>n>>m;
    		//由题目可知硬币数量可以为0
    		for(int i=0;i<=m/5;i++){//5分硬币的数量
    			for(int j=0;j<=m/2;j++){//2分硬币的数量
    				int k=n-i-j;
    				//所有硬币的面值总和为m,且要保证减去后的1分硬币数量大于等于0
    				if(i*5+j*2+k==m&&k>=0){
    					sum++;//满足以上条件的说明方案成立,
    				}
    			}
    		}
    		cout<<sum<<endl;
    	}
    	return 0;
    }
    
    • 1