0

我认识到这是一个共同的主题,但我无法在自己的代码中找到我要查找的内容,如果我找不到问题所在,那么所有其他答案都会变得毫无意义。

我必须为查询用户的任何值实现 Collat​​z 递归,然后返回该数字达到 1 所需的步数(迭代)。

int main(void)
{
    int m,n,count;
    printf("Enter a value for 'n': ");
    scanf("%d",&n);

    m = n;
    count = 0;
    if (m != 1) {
        if (m%2 == 0); {
            m = m/2;
            count++;
            }

        if (m%2 == 1) {
            m = m*3+1;
            count++;
            }
        }

    if (m==1)
        return count;

    printf("The number %d takes %d iterations to reach '1'",n,count);

    return 0;
}

任何建议都会很棒。if (m != 1)我的信念是m,这段代码(

4

0 回答 0