1. 程式人生 > >OJ刷題之武功祕籍

OJ刷題之武功祕籍

問題及程式碼:

/* 
 * Copyright (c) 2014, 煙臺大學計算機與控制工程學院 
 * All rights reserved. 
 * 檔名稱:test.cpp 
 * 作    者:郝俊宇  
 * 完成日期:2014年 12 月 29 日 
 * 版 本 號:v1.0 
 * 
 * 問題描述:小明到X山洞探險,撿到一本有破損的武功祕籍(2000多頁!當然是偽造的)。 
他注意到:書的第10頁和第11頁在同一張紙上,但第11頁和第12頁不在同一張紙上 。
小明只想練習該書的第a頁到第b頁的武功,又不想帶著整本書。請問他至少要撕下多少張紙帶走? 
 * 輸入描述:有多組測試例項,輸入小明想要練習的起始頁a和末尾頁b。(a<b)
 * 程式輸出:輸出小明最少要帶走的紙張,每行對應一個輸出結果。
 */ 
#include <iostream>

using namespace std;
int main()
{
    int a,b,i,n=0;
    cin>>a>>b;
    for(i=a; i<=b; i++)
    {
        if(i%2==0)
            n++;
    }
    if(a%2==0&&b%2!=0)
        cout<<n<<endl;
    else
        cout<<n+1<<endl;
    return 0;
}


執行結果:

學習心得:

不知道為什麼在codeblocks裡執行就正確,在OJ中就不正確。在百度中查的,但是看不明白。

#include<iostream>
using namespace std;
int main()
{
    int m,n,a;
    while(cin>>n>>m)
    {
        a=m-n+2;
        a=a/2;
        if(n%2!=0&&m%2==0)
            a++;
        cout<<a<<endl;
    }
    return 0;
}