PTA 翁恺 7-38 支票面额

一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?

输入格式:

输入在一行中给出小于100的正整数n。

输出格式:

在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution

 

输入样例1:

23
  结尾无空行

输出样例1:

25.51
  结尾无空行 整体思路: 题目只给出了一个等式关系,所以只能用循环凑,注意题目中存在的各种限制条件 整体代码:
#include <stdio.h>

int main (void){
    int y = 0,f = 0;
    int n = 0,i = 0,j = 0;
    scanf ("%d",&n);
    for (i = 0;i < 100;++i)
    {
        for (j = 0;j <= i / 2;++j)
        {
            f = i;
            y = j;
            if (n == 98 * f - 199 * y)
            {
                printf ("%d.%d",y,f);
                return 0;
            }
        }
    }
    printf ("No Solution");
    return 0;
}

 

讨论:
  • 因为f是分的单位,f < 100,因为 n == 98 * f -199 * y > 0,所以 f > 2y
上一篇:十四讲——第7讲.视觉里程计部分思考(1)


下一篇:线性代数——高斯消元法