第三周编程作业(巧算自然数 卖鸭子 输出各位数字之和)

这篇博客包含了三个C语言编程问题的解决方案:1) 输入自然数,通过偶数除2,奇数乘3加1的方法,找到变为1所需的步数和中间值。2) 使用递归函数解决卖鸭子问题,计算出发时的鸭子总数及每个村子卖出的鸭子数量。3) 利用递归函数计算输入数的各位数字之和。
摘要由CSDN通过智能技术生成

1

巧算自然数(10分)

题目内容:

  编程实现输入一个自然数,若为偶数,则把它除以2;若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。输出经过多少次可以得到自然数1和每次得到的值。

输入格式:

  输入一个自然数

输出格式:

  输出经过多少次可以得到自然数1和每次得到的值

 

输入样例:

22[回车]

输出样例:

22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1[回车]

step=16[回车]

 

#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int step=0;
while(n!=1){
    printf("%d",n);
    if(n%2!=0){
        n=n*3+1;
    }else
    n=n/2;
    if(n!=1)printf(",");
    else{
        printf(",1\n");
        step++;
    }
    step++;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值