PAT (Basic Level) 1001.害死人不偿命的(3n+1)猜想 (15分)

问题描述:

解题思路:

1.定义两个变量,n正整数,count计数器;

2.对n进行奇数偶数判断;

3.如果是奇数,则n = 3*n+1,后n对半砍,也就是n/2;计数器+1,进行下一次判断,直至n=1为止;

4.如果是偶数,n=n/2;计数器+1,进行下一次判断,直至n=1;

5.输出结果。

解题代码:

#include <iostream>
using namespace std;
int main()
{
    int n,count = 0;
    cin >> n;
    while(1 != n)
    {
        if(n % 2 == 0)
            n = n / 2;
        else
            n =(3*n + 1) / 2;
        ++count;
    }

    cout << count;
}

-----------------------------------------------知识点仅针对个人盲点----------------------------------------------------


知识点:

namespace 

释义:命名空间,解决命名冲突

用法:

namespace A {
    int a = 100;
}

1、命名空间的定义( 不能在 函数内 定义命名空间)
2、使用命名空间的成员 最安全的方式 命名空间名::成员名
3、using namespace 命名空间名;使用整个命名空间 (重要)

using namespace A;

4、单独 使用命名空间中的具体成员:using 命名空间名::成员名;

using A::a;

5、说明一下main中的std

#include <iostream>
//使用标准的命名空间std
//std中所有成员名 可以直接使用
//cout endl cin都是命名空间std的成员
using namespace std;

int main(int argc, char *argv[])
{
    std::cout << "Hello World!" << std::endl;
    cout << "Hello World!" << endl;
    return 0;
}

注:知识点部分摘抄自这篇博客,讲的非常详细,可以去博主博客中溜达溜达~~C++命名空间 namespace的详细讲解_看见代码就想敲的博客-CSDN博客_c++ namespace

如有侵权,请联系我删除,谢谢~ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值