(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 }