科拉兹猜想‌(Collatz Conjecture)C语言

科拉兹猜想‌(Collatz Conjecture)核心规则是:

  1. 偶数‌:除以2
  2. 奇数‌:乘以3再加1

该猜想提出:对任意正整数重复上述操作,最终都会回到“1”。

#include<stdio.h>

int main(){
	
	int n;
	
	double sum;
	
	scanf("%d", &n);
	
	printf("%d ", n);
	
	for( ; n>1; ){
		
		if (n%2 == 0){
			n = n/2;
		}else{
			n = 3*n + 1;
		} 
		
		printf("--> %d", n);		
	}
	
    return 0;
}

输入:

100

输出:

100 --> 50--> 25--> 76--> 38--> 19--> 58--> 29--> 88--> 44--> 22--> 11--> 34--> 17--> 52--> 26--> 13--> 40--> 20--> 10--> 5--> 16--> 8--> 4--> 2--> 1

输入:

199

输出:

199 --> 598--> 299--> 898--> 449--> 1348--> 674--> 337--> 1012--> 506--> 253--> 760--> 380--> 190--> 95--> 286--> 143--> 430--> 215--> 646--> 323--> 970--> 485--> 1456--> 728--> 364--> 182--> 91--> 274--> 137--> 412--> 206--> 103--> 310--> 155--> 466--> 233--> 700--> 350--> 175--> 526--> 263--> 790--> 395--> 1186--> 593--> 1780--> 890--> 445--> 1336--> 668--> 334--> 167--> 502--> 251--> 754--> 377--> 1132--> 566--> 283--> 850--> 425--> 1276--> 638--> 319--> 958--> 479--> 1438--> 719--> 2158--> 1079--> 3238--> 1619--> 4858--> 2429--> 7288--> 3644--> 1822--> 911--> 2734--> 1367--> 4102--> 2051--> 6154--> 3077--> 9232--> 4616--> 2308--> 1154--> 577--> 1732--> 866--> 433--> 1300--> 650--> 325--> 976--> 488--> 244--> 122--> 61--> 184--> 92--> 46--> 23--> 70--> 35--> 106--> 53--> 160--> 80--> 40--> 20--> 10--> 5--> 16--> 8--> 4--> 2--> 1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值