2011年8月30日 星期二

d533: 複數比大小

內容 :
    某日中午,高中一年級的小明,正在與數學考卷奮戰。
    不久後,打鐘了,大家陸陸續續交上考卷。
    隔日,數學考卷發了下來,小明拿到悲慘的32分,其他同學也好不到哪裡去
    「唉唷好難喔!複數好難,比大小好難」
    這種聲音此起彼落,不絕於耳。
    這次的考卷上面出了很多複數比大小的題目
    例如3+2i與5+3i哪一個大?聰明的你一定知道答案是:不能比較
    因為複數通常是不能夠比較的
    我們沒有辦法在複數平面上完整地定義大小關係
    原因是某些情況下例如乘法、加法的性質會被破壞掉
    而這種類似的題目出了許多題
    靈機一動的小明看同學那麼辛苦,於是就想到要找會寫程式的你來幫助他們
    而要做的事就是比較a+bi與c+di的大小
    你可以選擇輸出"Go Die!"(不含引號)拿到一個WA
    或是輸出正確答案得到一個AC,還有小明的心(誤)

輸入說明 :
    第一行會有一個整數n,代表一共有幾對複數要比較大小,0<n<=10000
    接下來的n行,每行會有四個數字,分別是a,b,c,d。
    a,b,c,d皆屬於實數,且-100<=a,b,c,d<100000
    代表了兩個要比大小的複數 a+bi 與 c+di

輸出說明 :
    對於每一組要比的資料,
    如果a+bi>c+di,輸出">"(不含引號)
    如果a+bi=c+di,輸出"="(不含引號)
    如果a+bi<c+di,輸出"<"(不含引號)
    如果不能比較的話,輸出"No"(不含引號)

範例輸入 :
5
1 2 3 4
5 6 7 8
-1 -2 -3 -4
1 2 1 1
2 3 4 5

範例輸出 :
No
No
No
No
No

提示 :
    這題不難 就測資很白爛而已
    注意a,b,c,d的範圍唷~
    ps.這題跟大數完全無關

程式碼 :
#include<stdio.h>

int main()
{
    double a,b,c,d;
    
    scanf("%lf",&a);
    while(scanf("%lf %lf %lf %lf",&a,&b,&c,&d)==4)
    {
        if(b == 0 && d == 0)
        {
            if(a > c)
                printf(">\n");
            else if(a == c)
                printf("=\n");
            else
                printf("<\n");
        }
        else
            printf("No\n");
    }
    return 0;
}



http://zerojudge.tw/ShowProblem?problemid=d533

沒有留言:

張貼留言