C++知识精讲6——角gu猜想

本文我们来讲C++知识精讲的第6篇,角gu猜想,此专栏会讲许多,各种各样的类型,如果喜欢此专栏请订阅持续关注,感谢大家的支持。接下来,进入今天的知识精讲。

---------------------------------------------------------------------------------------------------------------------------------

心得分享 

作者最近几天正在备战CSP,在各种网站上刷题,发现,此题的出现率及其之高,因此,我会讲解此题的思路,希望能帮助到大家。

-------------------------------------------------------------------------------------------------------------------------------- 

角gu猜想涉及知识点 :

角gu猜想这个题只要认真思考,发现这个题还是很简单的,只需要重复的判断即可。

-------------------------------------------------------------------------------------------------------------------------------- 

实战带入知识点: 

实战导入:

给定一个正整数 n,若 n 是偶数,将 n 的值减少一半,如果 n 是奇数,将 n 的值乘 3,再加 1。不断地重复这个操作,任何正整数最后都会变成 1。这个猜想很可能是正确的,因为借助计算机,尚未发现存在反例。

给定 n,请输出用上述操作将 n 变成 1 的过程。

输入格式

单个整数表示 n。

输出格式

若干整数,表示用角谷变换将 n 变成 1 的过程。

-------------------------------------------------------------------------------------------------------------------------------- 

算法分析:

重复判断条件并做出题目相关的操作即可。

---------------------------------------------------------------------------------------------------------------------------------

代码实现:

#include<bits/stdc++.h>
using namespace std;

int main() {
 int n;
 cin >> n;
 while (n != 1)

{
  if (n % 2 == 0) {
   n = n / 2;
   cout << n<<" ";
  }
  else {
   n = n * 3 + 1;
   cout << n <<" ";
  }
  }
 }

-------------------------------------------------------------------------------------------------------------------------------- 

小结:

这就是角gu猜想的题解,把知识点带入实战,如有疑问,请在评论区留言,作者看到后,会一一回复的。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.LAL.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值