对于一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1,经过如此有限次运算后,总可以得到自然数值1。编写程序,输入一个自然数,求经过多少次变换可得到自然数1。例如:输入22,输出STEP=16。
#include<stdio.h> int main(){ int n,step=0; scanf("%d",&n);//输入自然数 while(n!=1){ if(n%2==0) n/=2; else n=n*3+1; step++; } printf("%d",step);//输出所需步数 return 0; }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题