栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529477.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号