问题标题: 酷町堂:1801

0
0
已解决
汪宇航
汪宇航
新手启示者
新手启示者

小明妈妈是开超市的,每天都要卖很多东西,需要准备很多零钱,某一天超市零钱不够了,于是她去银行换钞票,想把n张100元的钞票兑换成10元、20元、50元小钞票形式。请问有多少种兑换的方式呢?

输入描述 Input Description

100元的钞票的数量n张(1<=n<=10000)

输出描述 Output Description

多少种换法

样例输入 Sample Input

1

样例输出 Sample Output

10

 

为什么10分?拜托发一下代码吧!

汪宇航在2021-02-16 17:45:25追加了内容

@汪恺恒,可以帮我下不?


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

1:你要把循环降为两重

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;//计算钱数差
            如果k>=0 计数器+1;
        }
    }

2:你要加个头文件(不加只有50分)

#pragma GCC optimize(3)//加速头文件

0
汪宇航
汪宇航
新手启示者
新手启示者

Time Limit Exceeded:10分

汪宇航的测评结果:

测试点

结果

时间

 

1

Time Limit Exceeded

1980ms

偷看一下数据

2

Time Limit Exceeded

1996ms

偷看一下数据

3

Time Limit Exceeded

1672ms

偷看一下数据

4

Time Limit Exceeded

1996ms

偷看一下数据

5

Time Limit Exceeded

1996ms

偷看一下数据

6

Time Limit Exceeded

2000ms

偷看一下数据

7

Time Limit Exceeded

1992ms

偷看一下数据

8

Time Limit Exceeded

2000ms

偷看一下数据

9

Time Limit Exceeded

1988ms

偷看一下数据

10

Accepted

0ms

偷看一下数据

汪宇航的提交(cpp):

 
  • #include <iostream>
  • using namespace std;
  • int main(){
  • int n,cnt=0;
  • cin>>n;
  • for(int i=0;i<=n*100/50;i++{
  • for(int j=0;j<=n*100/20;j++){
  • for(int k=0;k<=n*100/10;k++){
  • if(i*50+j*20+k*10==n*100){
  • cnt++;
  • }
  • }
  • }
  • }
  • cout<<cnt;
  • return 0;
  • }
0
孔小川
孔小川
初级光能
初级光能

你代码给我看看看看一xxxxxxx下

我要回答