#4095: 想不到為什麼


jetsways (小犬)

學校 : 國立中央大學附屬中壢高級中學
編號 : 9791
來源 : [140.115.204.11]
最後登入時間 :
2015-10-18 00:44:58
d485. 我愛偶數 -- 板橋高中教學題 | From: [122.126.165.135] | 發表日期 : 2010-08-15 21:15

這是我的程式碼


#include <iostream>
using namespace std;
int main(){
   long long int a ,b,c,d ;
while (cin>>a>>b){
     
      c=(int)((b/2)-((a-1)/2));
      cout << c <<endl;
     
     
      }
   
 return 0;  
}
 

 

我的想法就跟程式碼一樣

0~B之間有多少個偶數

0~A(不包含A) 有幾個偶數

然後想數相減

就是區間偶數各數

 

可是去值點測試的時候

測10錯4

 

*** 第 1 點 (10%):WA (line:1)
您的答案為: 1
正確答案為: 2

 

*** 第 5 點 (10%):WA (line:1)
您的答案為: 1073741823
正確答案為: 1073741824

 

*** 第 8 點 (10%):WA (line:1)
您的答案為: 0
正確答案為: 1

 

*** 第 10 點 (10%):WA (line:1)
您的答案為: 0
正確答案為: 1

 

 

請問為什麼呢?

都是錯一些極端數字

用LONG LONG INT 應該夠應付才對

是不是我程式或是想法有哪裡錯誤呢?

 

感謝各位大大

 
#4096: Re:想不到為什麼


jetsways (小犬)

學校 : 國立中央大學附屬中壢高級中學
編號 : 9791
來源 : [140.115.204.11]
最後登入時間 :
2015-10-18 00:44:58
d485. 我愛偶數 -- 板橋高中教學題 | From: [122.126.165.135] | 發表日期 : 2010-08-15 21:29

我知道為什麼了= =

 

我沒看清楚題目= =

 

0也是偶數= =.....

 

跟我觀念中不同= =

 
#4619: Re:想不到為什麼


sunny (sunny)

學校 : 不指定學校
編號 : 14742
來源 : [114.42.120.135]
最後登入時間 :
2011-09-10 21:05:38
d485. 我愛偶數 -- 板橋高中教學題 | From: [114.36.147.50] | 發表日期 : 2010-12-02 15:03

 

 考慮到0我做了四捨五入 不過還是錯了三個

      double f=(a-1)/double(2);
      long long int d=(int)(f+f-(int)(f));
      c=(int)(b/2-d);

 

 

*** 第 1 點 (10%):AC (4ms, 696KB)

*** 第 2 點 (10%):AC (8ms, 692KB)

*** 第 3 點 (10%):WA (line:1)
您的答案為: 3
正確答案為: 4

*** 第 4 點 (10%):WA (line:1)
您的答案為: 4
正確答案為: 5

*** 第 5 點 (10%):AC (4ms, 700KB)

*** 第 6 點 (10%):AC (4ms, 696KB)

*** 第 7 點 (10%):WA (line:1)
您的答案為: 0
正確答案為: 1

*** 第 8 點 (10%):AC (4ms, 700KB)

*** 第 9 點 (10%):AC (0ms, 696KB)

*** 第 10 點 (10%):AC (4ms, 700KB)

 可見公式還是錯了#.#

 

 

snail 出的這一系列有趣的數學題 ,讓早就生鏽的腦袋覺得莞爾^.^

導公式很有趣不過 不能看測資 真的好難喔QQ

 
#4620: Re:想不到為什麼


sunny (sunny)

學校 : 不指定學校
編號 : 14742
來源 : [114.42.120.135]
最後登入時間 :
2011-09-10 21:05:38
d485. 我愛偶數 -- 板橋高中教學題 | From: [114.36.147.50] | 發表日期 : 2010-12-02 15:40

整個包起來四捨五入 還是錯兩個....

哈... 來去找國中的數學課本充一下電

double f2=(a-1)/double(2);       
     double f1=(b)/double(2);   
      double f=f1-f2;
     long long int c=(int)(f+f-(int)(f));

 

本題目共 10 個測試點,您的程式共通過 8 個測試點。(score:80)
獲得部分分數 80 分。
錯誤訊息如下:

*** 第 1 點 (10%):AC (4ms, 700KB)

*** 第 2 點 (10%):AC (4ms, 708KB)

*** 第 3 點 (10%):AC (4ms, 704KB)

*** 第 4 點 (10%):AC (0ms, 700KB)

*** 第 5 點 (10%):AC (0ms, 716KB)

*** 第 6 點 (10%):WA (line:1)
您的答案為: 1
正確答案為: 0

*** 第 7 點 (10%):AC (4ms, 712KB)

*** 第 8 點 (10%):AC (4ms, 708KB)

*** 第 9 點 (10%):WA (line:1)
您的答案為: 1
正確答案為: 0

*** 第 10 點 (10%):AC (4ms, 692KB)

 

 

 
#4622: Re:想不到為什麼


x000032001 (某數)

學校 : 國立臺中高級家事商業職業學校
編號 : 8316
來源 : [219.87.178.100]
最後登入時間 :
2011-09-23 13:13:22
d485. 我愛偶數 -- 板橋高中教學題 | From: [116.59.139.42] | 發表日期 : 2010-12-03 07:59

#include <iostream>
using namespace std;
int main() {
    long long int a,b;
    while ( cin >> a >> b ) {
        if (b==a) {
            if(b&1)
                cout << "0";
            else
                cout << "1";
            }
        else {
            if (a&1)++a;
            cout << (b-a)/2+1;
            }
        }
    return 0;
    } 
ZeroJudge Forum