万卷网 > 题目详情
题型:编程题

硬币

可以使用任意数量的 a元硬币、b 元硬币和 c 元硬币。请找出恰好凑出 n 元所需的最小硬币总数。若无法凑出,则输出 -1。

时间限制:1000ms,内存限制:256MB

输入格式

第一行,整数 n;

第二行,三个整数表示 a、b、c。

输出格式

输出最小硬币总数(若无法凑出则输出 -1)。


输入样例#1

100
20 40 50

输出样例#1

2

输入样例#2

99
1 5 10

输出样例#2

14

数据范围:

1≤N≤109;1≤A≤B≤C≤109。保证最终最小硬币总数不超过104。

更新时间:2025-10-30 11:09:23 |
【知识点】 电子学会C/C++二级

相似题推荐

单选题

执行以下C++代码,输入`65`后,输出结果是?( ) 

int grade; 
cin >> grade;
 if(grade >= 90) 
     cout << "优秀"; 
else if(grade >= 70) 
    cout << "良好"; 
else if(grade >= 60) 
    cout << "及格"; 
else 
    cout << "不及格";
A.

优秀

B.

良好

C.

及格

D.

不及格

2026-07-10
判断题

C++中,数组的长度可以在定义后随时修改。( )

A.正确 B.错误
2026-07-10
单选题

以下C++数组定义中,正确的是?( )

A.

整数 arr[4] = {1,2,3,4,5};

B.

整数 arr[] = {5,4,3,2,1};

C.

int n=-5;内通 arr[n];

D.

整数 arr[5] = ;

2026-07-10
编程题

查找特定值

2026-07-10
判断题

C++中,将double类型赋值给int类型变量时,会自动进行类型转换,不会丢失数据。( )

A.正确 B.错误
2026-07-10
公众号
客服 反馈
顶部