5.22打卡
一、问题描述:
角谷猜想,在西方常被称为西拉古斯猜想,据说这个问题首先是美国的西拉古斯大学开始研究的,而在东方,这个问题则由将它带到日本的日本数学家角谷静夫的名字来命名,所以被称为角谷猜想。
角谷猜想的内容是:任给一个自然数,若为偶数则除以2,若为奇数则乘以3再加1,这样得到一个新的自然数之后再按照前面的法则继续演算,若干次以后得到的结果必然为1.在数学文献里,角谷猜想也常常被称为“3X+1问题”。请编程验证角谷猜想。
二、设计思路:
角谷猜想中已经明确的给出了处理过程,即对于给定的自然数n,有如下函数:C(n)={n/2 n是偶数
{3n+1n n是奇数
在问题分析中进行的变换,实际上是对函数C进行的迭代。则问题可表述为:从任意一个自然数开始,经过对函数C有限次的迭代,能否最终得到1。算法不需要特别的设计,根据函数C可直接进行角谷猜想的验证。
三、程序流程图
四、代码实现
#include<stdio.h>
int main()
{
int n,count=0;
printf("请输入一个自然数:");
scanf("%d",&n);
do{
if(n%2)
{
n=n*3+1;
printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n);
}
else{
n/=2;
printf("[%d]:%d/2=%d\n",++count,2*n,n);
}
}while(n!=1);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具