7-38 支票面额

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

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

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

输入样例1:
23

输出样例1:
25.51

输入样例2:
22

输出样例2:
No Solution

#include<stdio.h>

int main()
{

    int n;
    int f,y,flag=0;

    scanf("%d",&n);

    for(f=0;f<100;f++)
    {
        for(y=0;y<=49;y++)
        {
            if(98*f-199*y==n)
            {
                printf("%d.%d",y,f);
                flag=1;
                break;
            }
        }
    }

    if( flag==0 )
    {
        printf("No Solution");
    }

    return 0;
}

解析:根据题目可以列出以下式子:
100*f+y-n=200*y+2*f         -->      98*f-199*y=n

∵ f<100 && n>0
∴ f<100 ; y<=49

注意:
y、f都必须取到0,因为当n=0时,y、f都为0,此时是满足题目要求的。

中国大学MOOC 2021年春季C、Java入门练习第I段——变量、表达式、分支、循环

全部评论

相关推荐

AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务