C趣味程序百例(26)角谷猜想

C趣味程序百例(26)角谷猜想,第1张

C趣味程序百例(26)角谷猜想,第2张

81.角谷猜想
一个日本中学生发现了一个奇妙的“定理”,请角谷教授证明,教授却无能为力,于是产生了角谷猜想。猜想的内容是:给任意一个自然数,如果是偶数就除以2,如果是奇数就乘以3加1。得到一个新的自然数后,继续按上述规则计算,几次后得到的结果一定是1。请通过编程验证。
*问题分析与算法设计
本题是一个没有得到普遍证明的猜想,但经过反复试验,可以用程序验证。
题目中给出的处理非常清晰,算法不需要特殊设计,直接根据题目验证即可。
*程序和程序注释
# include
void main()
{
int n,count = 0;
printf("请输入数字:");
scanf("%d ",& n);/*输入任意整数*/
do {
if(n % 2)
{
n = n * 3+1;/*如果是奇数,n乘以3加1 */
printf("[% d]:% d * 3+1 = % d \ n ",++count,(n-1)/3,n);
}
else
{
n/= 2;/*如果是偶数N,除以2 */
printf("[% d]:% d/2 = % d \ N ",++count,2 * n,N);
}
}while(n!=1);/*如果n不等于1,则继续上述过程*/
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C趣味程序百例(26)角谷猜想

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情