Advertisement

洛谷P5727 冰雹猜想(第5题 C语言)

阅读量:

题目:

给定一个正整数 n(其中n≤100),我们对其执行以下操作:如果是奇数,则将其乘以3并加1;如果是偶数,则将其除以2。经过多次这样的操作最终会返回到数字1。这一现象已被大量测试证实(包括非常大的数值如7×10^11),因此被广泛称为"角谷猜想"或"冰雹猜想"。例如,在初始值n=20时的变化序列是[20, 10, 5, 16, 8, 4, 2, 1]。对于给定的数字n(其中n≤100),验证上述猜想成立,并按逆序列出其变化序列

样例:
输入

复制代码
    20

输出

复制代码
    1 2 4 8 16 5 10 20

分析:

赋值变量n为一个正整数值,并限定其取值范围不超过一百。
分别判断变量n是否为奇数或偶数,并采取相应处理方式。
确保反复迭代运算直到变量n降到数值一。
据分析可知该猜想建立在整数基础之上因此设定循环终止条件应当是n>1
逆序排列运算结果并采用数据结构来保存中间结果以避免覆盖问题。
由于上述限制条件n\leqslant 100可能导致循环次数超过一百建议合理估算数组容量以避免内存溢出风险。

代码

复制代码
    #include <stdio.h>
    int main()
    {
    	int a[1000];    //

全部评论 (0)

还没有任何评论哟~