PAT&乙级の二周目-B1001

(3N + 1)推測1001の殺さ魅力(15点)

Kharazi(Callatz)の推測:

任意の正の整数のために  それが奇数の場合、次いで、N、それが偶数である場合、それは半分  (  3 N- + 1 ) 半減。これを繰り返し、最後にステップを取得するようになった、切断された  N- = 1。

ない以上1000以下の正の整数のいずれかを考えると  nは、単に数をカウントし、どのように多くの手順を取得する必要があります(数カット)  N- = 1を?

入力フォーマット:

各テストは、テスト入力、すなわち、それは正の整数与える含む  nの値を。

出力フォーマット:

出力された  N 1ステップの必要数の計算。

サンプル入力:

3
 

出力例:

5
/*这个题目很简单,实质上就是对输入整数N进行判断,若N为偶数则N/=2,若N为奇数,则N=(3*N+1)/2,循环调用这一算法步骤,直至N=1为止,输出计数变量的值。*/
1の#include <stdio.hの>
 2  
3  INTメイン(ボイド4  {
 5      INT N、X。
6      INT CNT = 0 7  //     int型* P = N; 
8      のscanf(" %d個"、&N)
9      ながら(!N = 1 ){
 10          であれば(%N 2 == 0 ){
 11              N = N / 2 12              CNT ++ ;
13          }{
 14              N =(N * 3 + 1)/ 2 15              CNT ++ ;
16          }
 17      }
 18      のprintf(" %dの\ n " 、CNT)。
19      リターン 0 ;
20 }

 

 

おすすめ

転載: www.cnblogs.com/hdu-linux-Soc-AI-IC/p/12559087.html