首頁>技術>

題目描述

給出一個正整數 n,然後對這個數字一直進行下面的操作:如果這個數字是奇數,那麼將其乘 3 再加 1,否則除以 2。經過若干次迴圈後,最終都會回到 1。經過驗證很大的數字都可以按照這樣的方式比變成 1,所以被稱為“冰雹猜想”。例如當 n 是 20,變化的過程是 [20, 10, 5, 16, 8, 4, 2, 1]。根據給定的數字,驗證這個猜想,並從最後的 1 開始,倒序輸出整個變化序列。例如輸入20,輸出[1,2,4,8,16,5,10,20]。

#include<iostream>using namespace std;int fun(int n){	if(n%2==0){		n=n/2;	}	else{		n=n*3+1;	}	return n;}int main(){	int a[200]={0};	int n,num,m,count=0;	cin>>n;	num=n;	for(int i=2;n!=1;i++){		m=fun(n);		a[i]=m;		count++;		n=m;	}	a[1]=num;	for(int i=count+1;i>=1;i--){		cout<<a[i]<<" ";	}	return 0; } 

15
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • python datetime 比較問題