1044: 人民币问题 [水题]
时间限制: 1 Sec 内存限制: 128 MB提交: 180 解决: 129 统计
题目描述
给出任意的人民币( ≤100 ≤100元)。
求兑换成5元、2元和1元币值(要求三种币值均有)的方法有多少种。
输入
输入任意的人民币( ≤100 ≤100元)的整币。
输出
计算出兑换成5元、2元和1元币值(要求三种币值均有)的方法有多少种。
样例输入
10
样例输出
2
提示
对于示例有两种:
一、
5元:1
2元:1
1元:3
二、
5元:1
2元:2
1元:1
来源
#include<iostream>
using namespace std;
int main()
{int n,ans=0;cin>>n;for(int i=1;i<=100;i++)for(int j=1;j<=50;j++)for(int k=1;k<=20;k++)if(i+j*2+5*k==n)ans++;cout<<ans<<endl;}
显然可得三元一次方程:
5x+2y+z=n 5x+2y+z=n
求满足的正整数解的个数。
因为 n n的范围很小,所以可以用枚举法。
三重循环 O(n3)