一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?
输入格式:
输入在一行中给出小于100的正整数n。
输出格式:
在一行中按格式y.f
输出该支票的原始面额。如果无解,则输出No Solution
。
输入样例1:
23
输出样例1:
25.51
输入样例2:
22
输出样例2:
No Solution
#include<iostream>
using namespace std;
int main()
{
int f(0),y,n;
cin>>n;
for(y=0;y<=99;y++)
{
if(y <= n)//y <= n即花去n分之后,原来的元数不变
{
f=2*y;
}
else
{
f=2*y+1;//y > n即花去n分之后,原来的元数与花去之后的元数少一
}
if((98*f-199*y-n) == 0)
{
break;
}
}
if(y == 100)
{
cout<<"No Solution"<<endl;
}
else
{
cout<<y<<"."<<f<<endl;
}
return 0;
}