评论

收藏

[C++] P5727 【深基5.例3】冰雹猜想 题解

编程语言 编程语言 发布于:2021-08-09 15:09 | 阅读数:398 | 评论:0

题目描述
DSC0000.jpg


输入格式


输出格式


输入输出样例

输入 20输出 
1 2 4 8 16 5 10 20
思路:
如果这个数字是奇数,那么将其乘 3 再加 1,否则除以 2。
把数字存到数组里。然后输出。
#include<iostream>
using namespace std;
int main()
{
  int array[10000];
  int number;
  int temp;
  cin>>number;
  temp=number;
  int i=0;
  while(temp!=1)
  {
    if(temp%2==0)
    {
      temp=temp/2;
    }
    else
    {
      temp=temp*3+1;
    }
    array[i]=temp;
    i++;
  }
  for(int j=i-1;j>=0;j--)
  {
    cout<<array[j]<<" ";
  }
  cout<<number;
  return 0;
}
换成for循环似乎要好一点吧。
for(;temp!=1;i++)
  {
    if(temp%2==0)
     {
       temp=temp/2;
     }
     else
     {
       temp=temp*3+1;
     }
    array[i]=temp;
  }

关注下面的标签,发现更多相似文章