
#include<iostream>
using namespace std;
int min(int salary)
{
int minNum = 0;
int hundred, fifty, ten, five, two, one;
if (salary == 1||salary==2 || salary == 5 || salary == 10 || salary == 50 || salary == 100)
{
minNum = 1;
}
else
{
int temp = 0;
hundred = salary / 100;
salary = salary - 100 * hundred;
fifty = salary / 50;
salary = salary - 50 * fifty;
ten = salary / 10;
salary = salary - 10 * ten;
five = salary / 5;
salary = salary - 5 * five;
two = salary / 2;
one = salary - 2 * two;
minNum= hundred+ fifty+ ten+ five+ two+ one;
}
return minNum;
}
int main()
{
int personNum = 0;
while (cin>>personNum)
{
int sum = 0;
int money[100];
for (int i = 0; i < personNum; i++)
{
cin >> money[i];//money<5000
}
for (int i = 0; i < personNum; i++)
{
sum = sum + min(money[i]);
}
if (sum >= 0)
{
cout << sum<<endl;
}
else
{
cout << "Impossible"<<endl;
}
}
return 0;
}
纠结的点: 换 行 符 !
本文探讨了一段C++代码,实现了一个名为`min`的函数,用于计算给定薪水条件下支付的最少现金。通过拆分和计数不同面额的硬币,解决了如何最小化支付金额的问题。主要关注点在于换行符处理和算法效率。
1246

被折叠的 条评论
为什么被折叠?



