第一篇:考拉兹猜想C语言代码-九院黄伟
考拉兹猜想
考拉兹猜想,又称为3n+1猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是由日本数学家角谷静夫发现,是指对於每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。
#include
main()
{
int n;//存储该自然数
int i;
printf(“请输入一个自然数:”);
scanf(“%d”,&n);
for(i=1;;i++){
if(n==1){
printf(“第%d步:n=%dn”,i,n);break;
}else if(n%2==0){
printf(“第%d步:n=%d÷2=%dn”,i,n,n/2);
n=n/2;
}else if(n%2==1){
printf(“第%d步:n=%d×3+1=%dn”,i,n,n*3+1);
n=n*3+1;
}
}
}
第二篇:6174猜想C语言代码-九院黄伟
6174猜想
1955年,卡普耶卡(D.R.Kaprekar)研究了对四位数的一种变换:任给出四位数k0,用它的四个数字由大到小重新排列成一个四位数m,再减去它的反序数rev(m),得出数k1=m-rev(m),然后,继续对k1重复上述变换,得数k2.如此进行下去,卡普耶卡发现,无论k0是多大的四位数,只要四个数字不全相同,最多进行7次上述变换,就会出现四位数6174.#include
main()
{
int s,a, b, c, d;
int t=0,x;
int m,n;
printf(“请输入一个四位每位不全相同的数:”);
scanf(“%d”, &s);
a=s/1000;
b=s%1000/100;
c=s%100/10;
d=s%10;
for(x=0;;x++){
if(x==0){
if(a==b&&a==c&&a==d&&b==c&&b==d&&c==d){
printf(“输入的四位不合法!n”);break;
}
}
a=s/1000;b=s%1000/100;c=s%100/10;d=s%10;
if(a
if(b if(c if(a if(b if(a m=a*1000+b*100+c*10+d; n=a+b*10+c*100+d*1000; if(m-n==6174){ printf(“s=%d-%d=%dn”, m, n, m-n); printf(“结束!n”);break; }else{ s=m-n; printf(“s=%d-%d=%dn”, m, n, s); }}}