1. 程式人生 > >中M2018秋C入門和進階練習 7-38 支票面額 (15 分)

中M2018秋C入門和進階練習 7-38 支票面額 (15 分)

7-38 支票面額 (15 分) 一個採購員去銀行兌換一張y元f分的支票,結果出納員錯給了f元y分。採購員用去了n分之後才發覺有錯,於是清點了餘額尚有2y元2f分,問該支票面額是多少?

輸入格式: 輸入在一行中給出小於100的正整數n。

輸出格式: 在一行中按格式y.f輸出該支票的原始面額。如果無解,則輸出 No Solution。

輸入樣例1: 23 輸出樣例1: 25.51 輸入樣例2: 22 輸出樣例2: No Solution

    // 2(y*100+f)==f*100+y-n
    // 200y+2f==100f+y-n
    // 199y-98f=-n
    // n=98f-199y  100=98f-199y    y=(98f-100)/199
    // f表示幾分錢,故0<=f<100  所以 
    //當f==0  y== -0.5025……  當f==99  y==48.2512…… 且y>0;
#include <stdio.h>

int main () {
    int n,y,f,flag=0;
    scanf("%d",&n);
    for (f=0;f<100;f++)
        for (y=0;y<49;y++)
            if ( 98*f-199*y == n ){
                flag = 1;
                printf("%d.%d",y,f);
                break;
            }
    if (!flag)
        printf("No Solution");
    return 0;
}