最省納智捷1年新車83萬起三星平板★瘋殺5290起這畫面也太叫人垂涎欲滴!色令人昏 喜會女網友悲...
2013-03-22 09:09:17 人氣(326) | 回應(0) | 推薦(0) | 收藏(0) 上一篇 | 下一篇

[ZJ] a647. 投資專家

0
收藏
0
推薦

內容 :

John是一個赫赫有名的藝術品投資專家,每個月都會計算藝術品投資的盈虧,以審視其獲利。John每個月月底,即開始計算其每一件藝術品的獲利狀況。由 於藝術品的種類繁多,John每個月總是要花費許多時間,計算其獲利狀況,以決定是否要將藝術品出脫。因此,他想麻煩你撰寫一支程式,計算每一件藝術品的 盈虧狀況。

輸入說明 :

測試資料的第一行是一個整數 n,代表John總共投資了 n 件藝術品。以下 n 行,每一行有兩個整數 m 和 p,m 是該藝術品投資的金額、p 是該藝術品目前的價值。其中 1≤m,p≤100000,單位是仟元。

輸出說明 :

每一件藝術品依據它的投資金額及目前價值,計算並輸出其獲利率 x。x為正,表示獲利;x為負表示虧損。若x≥10.00% 或 x≤-7.00%,即售出該藝術品,以「dispose」表示;否則,即保留該藝術品,以「keep」表示。輸出格式,請見輸出範例。

範例輸入 :

4
200 177
200 200
892 1000
1000 992

範例輸出 :

-11.50% dispose
  0.00% keep
 12.11% dispose
 -0.80% keep

提示 :

背景知識: 浮點數誤差問題

若計算結果為:-0.00%,請輸出:0.00%

出處 :

(管理:tarco)


避免浮點數處理。
換整數運算
/********************************************************************/
/*  Problem: a647 "投資專家" from                                    */
/*  Language: C (562 Bytes)                                         */
/*  Result: AC(0ms, 309KB) judge by this@ZeroJudge                  */
/*  Author: morris1028 at 2013-03-19 21:19:04                       */
/********************************************************************/


#include <stdio.h>
#include <stdlib.h>
int main() {
    int t, a, b;
    scanf("%d", &t);
    while(t--) {
        scanf("%d %d", &a, &b);
        int n = (b-a)*10000/a;
        int m = (b-a)*100000/a%10;
        int tn = n;
        if(abs(m) > 4)   n = n + (n < 0 ? -1 : 1);
        printf("%s%d.%02d%% ", n < 0 ? abs(n/100) < 10 ? " -" : "-" : abs(n/100) < 10 ? "  ": " ", abs(n)/100, abs(n%100));
        if(tn <= -700 || tn >= 1000) {
            puts("dispose");
        } else {
            puts("keep");
        }
    }
    return 0;
}

a647投資專家
台長:Morris
人氣(326) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: ZeroJudge |
此分類下一篇:[ZJ][圓并、圓交、周長] a648. A - Red Areas
此分類上一篇:[ZJ][塊狀鏈表] a063. SGU 187. Twist and whirl - want to cheat

我要回應
是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入以下數字 (ex:123)

(有*為必填)
詳全文