题目:一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?
输入格式:
输入在一行中给出小于100的正整数n。
输出格式:
在一行中按格式y.f
输出该支票的原始面额。如果无解,则输出No Solution
。
实现思路
循环嵌套
通过for循环的嵌套,外循环中当y达到阈值时结束,内循环来计算减少的金额是否等于n,如果是则直接输出y.f的值,如果当y达到阈值时则输出No Solution。
程序代码
#include<iostream>
using namespace std;
#define max 10000
int main()
{
int n,y=0,f,sum;
cin >> n;
while (y<max)
{
for (f = 1; f <= 100; f++)
{
sum = (f - 2 * y) * 100 + (y - 2 * f);
if (sum == n)
{
cout << y << "." << f;
return 0;
}
}
y++;
}
cout << "No Solution";
return 0;
}