一个采购员去银行兑换一张 y 元 f 分的支票,结果出纳员错给了 f 元 y 分。采购员用去了 n 分之后才发觉有错,于是清点了余额尚有 2y 元 2f 分,问该支票面额是多少?
输入格式:
输入在一行中给出小于 100 的正整数 n。
输出格式:
在一行中按格式 y.f 输出该支票的原始面额。如果无解,则输出 No Solution。
输入样例1:
23
输出样例1:
25.51
输入样例2:
22
输出样例2:
No Solution
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/14/exam/problems/799
提交:
题解:
#include<stdio.h>
int main(void) {
int n;
scanf("%d", &n);
// flag 变量用于记录是否有解:[0]无解 [1]有解
int flag = 0;
for (int y = 0; y < 100; y++) {
for (int f = 0; f < 100; f++) {
// 将支票的面额统一转换为分,比较使用前后是否相等
if (y + 100 * f == 2 * y * 100 + 2 * f + n) {
flag = 1;
printf("%d.%d\n", y, f);
break;
}
}
}
if (!flag) {
printf("No Solution\n");
}
return 0;
}