7-19 支票面额
一个采购员去银行兑换一张
输入格式
输入在一行中给出小于100的正整数
输出格式
在一行中按格式y.f
输出该支票的原始面额。如果无解,则输出No Solution
。
输入样例1
23
输出样例1
25.51
输入样例2
22
输出样例1
No Solution
分析与答案
这道题的目的就是给出double
来储存y-(int)y==0
,通过强制类型转换即可判断。下面的程序在f<=99
范围内循环,判断y
是不是整数,如果是整数就输出并结束程序,如果循环结束了,则说明无解,输出No Solution
。
#include <stdio.h>
int main(){
int n, f = 0;
double y = 0;
scanf("%d",&n);
while (f <= 99){
y = (double) (98*f-n)/199;
if (y >= 0 && y - (int)y == 0){
printf("%d.%d",(int)y,f);
return 0;
}
f++;
}
printf("No Solution");
return 0;
}