中级光能
小明妈妈是开超市的,每天都要卖很多东西,需要准备很多零钱,某一天超市零钱不够了,于是她去银行换钞票,想把n张100元的钞票兑换成10元、20元、50元小钞票形式。请问有多少种兑换的方式呢?
0分代码:
#include<iostream>
using namespace std;
int main(){
int n,cnt=0;
cin>>n;
n*=100;
for(int a=0;a<=2;a++) {
for(int b=0;b<=5;b++){
for(int c=0;c<=10;c++){
if(a*50+b*20+c*10==i){
cnt++;
}
}
}
}
cout<<cnt;
return 0;
}
张皓轩在2021-03-05 11:51:51追加了内容
不行,超时了
新手启示者
#pragma GCC optimize(3)
using namespace std;
int main(){
int n,cnt=0;
cin>>n;
for(int i=0;i<=n*2;i++){
for(int j=0;j<=n*5;j++){
int k=n*100-i*50-j*20;
if(k>=0){
cnt++;
}
}
}
cout<<cnt;
望采纳
新手天翼
说时话,张浩轩,这题只用2重循环就可以了,10不需要再用循环枚举
张展嘉在2021-02-23 19:34:57追加了内容
e~我好像写错了一个字
张展嘉在2021-03-02 20:43:34追加了内容
for(int i=0;i<=n*100/50;i++){
for(int j=0;j<=n*100/20;j++){
int k=n*100-i*50-j*20;
if(k>=0){
cnt++;
}
}
}
别忘了输出cnt,这题我错了10次,祝你AC!!!!!!!!!!!!!!!!!!!!!!!
新手启示者
注:总钱数为n*100
for(int a=1;a<=n*100/50;a++){
for(int j=1;j<=n*100/20;j++){
for(int k=1;k<=n*100/10;k++){
if(a*50+j*20+k*10==n*100{
cnt++;
}
}
}
}
cout<<cnt;
望采纳