PTA基础题目集 7-19 支票面额 (15 分)

PTA基础题目集 7-19 支票面额 (15 分),第1张

PTA基础题目集 7-19 支票面额 (15 分)

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

输入格式:

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

输出格式:

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

输入样例1:
23
输出样例1:
25.51
输入样例2:
22
输出样例2:
No Solution

在最开始的思路中,我把2y2f与n和之前的钱数列了方程解出两个等式,但是尝试了一下发现这样不对,测试点0无法通过,搜了下大家的代码发现有2f>100的情况存在,这时有可能不是no solution,但是这样程序却会这样判断。

之后换了个思路,不考虑换算,单纯从数字关系来解方程。

因为f和y前后是相同的,所以只有一个未知数n,列出方程用循环来试就行。

代码如下:
#include
int main()
{
    int n;
    int y,f;
    int flag;
    flag=1;

    scanf("%d",&n);
    for(y=0;y<100;y++)
    {
        for(f=0;f<100;f++)
        {
            if(100*f+y-n==2*y*100+2*f)
            {
                printf("%d.%d",y,f);
                flag=0;
            }
        }
    }
    if(flag==1)
    {
        printf("No Solution");
    }

    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5521282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存