1. 程式人生 > >1861 奶牛的數字遊戲 2006年USACO

1861 奶牛的數字遊戲 2006年USACO

她在 b-s wiki 展開 bold pri efault 過程 button

codevs——1861 奶牛的數字遊戲

2006年USACO

時間限制: 1 s 空間限制: 128000 KB 題目等級 : 青銅 Bronze 題目描述 Description

奶牛們又在玩一種無聊的數字遊戲。輸得很郁悶的貝茜想請你寫個程序來幫她在開局時預測結果。在遊戲的開始,每頭牛都會得到一個數N(1<=N<=1,000,000)。此時奶牛們的分數均為0。如果N是奇數,那麽奶牛就會把它乘以3後再加1。如果N是偶數,那麽這個數就會被除以2。數字每變動一次,這頭奶牛就得到1分。當N的值等於1時,遊戲結束,此時的分數就是這頭奶牛在這局遊戲中的最終得分。 以下是N的初始值為5時,一局遊戲的完整過程:

N 操作後所得數 註釋 總分

5 16 3*5+1 1

16 8 16/2 2

8 4 8/2 3

4 2 4/2 4

2 1 2/2 5

這頭奶牛的最終得分是5。

輸入描述 Input Description

* 第1行: 一個正整數,N

輸出描述 Output Description

* 第1行: 輸出一個正整數N,即奶牛在這局遊戲中的最終得分

樣例輸入 Sample Input

112

樣例輸出 Sample Output

20

數據範圍及提示 Data Size & Hint

USACO2006十月月賽

分類標簽 Tags 點此展開

模擬 USACO 2006年 如果noip 全像這個題一樣,我一定可以ak全場 ~~~~(>_<)~~~~ 代碼;
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,ans;
int main()
{
    scanf("%d",&n);
    
while(n!=1) { if(n%2==1) n=n*3+1,ans++; else n/=2,ans++; } printf("%d",ans); }

1861 奶牛的數字遊戲 2006年USACO