金色十月线上编程比赛第一题:小女孩数数


  • 公布公司:
  • 有 效 期:
  • 赛    区:
    • CSDN
    • 2014-10-142015-10-14
    • 北京
    • 难 度 等 级:
    • 答 题 时 长:
    • 编程语言要求:
    • 120分钟
    • C C++ Java C#
    题目详情

    【金色十月线上编程比赛规则】

    一个小女孩正在用左手手指数数,从1数到n。她从拇指算作1開始数起。然后,食指为2,中指为3。无名指为4,小指为5。接下来调转方向,无名指算作6,中指为7,食指为8。大拇指为9,如此重复。

    问最后会停在那个手指上?用编号1、2、3、4、5依次表示大拇指、食指、中指、无名指、小指。

    输入格式:

    输入多组数据。每组数据占一行,仅仅包括一个整数n(1<=n<=1000000000)。

    输出格式:

    每组数据占一行,仅仅包括一个介于1和5之间的整数,表示最后停留的手指。



    答题说明

    输入例子:

    1

    10

    1000000000

    输出例子:

    1

    2

    2


    我提交的代码

    #include<iostream>
    using namespace std;
    int main()
    {
        int n;
       while(cin>>n)
       {
         if(n<=5) {cout<<n<<endl;}
         else
         {
            int line,rest;
            n=n-5;
            line=1;
            if(n%4==0) {rest=0;line+=n/4;if(line%2==0) cout<<1<<endl;else cout<<5<<endl;}
            else {rest=n%4;line+=n/4;line++; 
            
            if(line%2==0) cout<<5-rest<<endl;
            else cout<<1+rest<<endl;}
         }
        
       }
      return 0;
    }        

  • posted on 2017-04-22 19:16  ljbguanli  阅读(233)  评论(0编辑  收藏  举报