还剩2页未读,继续阅读
文本内容:
角谷猜想1O日本一位中学生发现一个奇妙的定理〃,请角谷教授证明,而教授无能为力,于是产生角谷猜想猜想的内容是任给一个自然数,若为偶数除以若为奇数则乘加得到一个新的自2,31,然数后按照上面的法则继续演算,若干次后得到的结果必然为请编程验证1*问题分析与算法设计a本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证a题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证.*程序说明与注释#i nc1u d estdiOo h^in t main{;i n t n,count=0printf Please ente rn umbe r:;A scan f,%dH,n;/*输入任一整数*/do ifn%2若为奇数,乘力口〃{A n=n*3+l;/*n3l*/a Prin t f[%d]:%d*3+l=%d\n,;++coun t,n-1/3,n aelse^{/*若为偶数除以z,nn/=2;n2*/a prin t f[%d]%d/2=%d\n,++count,;2*n,na};不等于则继续以上过程*/}whi1en!=l/*n1}四方定理
2.数论中著名的四方定理〃讲的是:所有自然数至多只要用四个数的平方和就可以表示请编程证此定理*问题分析与算法设计a本题是一个定理,我们不去证明它而是编程序验证.对四个变量采用试探的方法进行计算,满足要求时输出计算结果#incl u de s tdio.h#inc1u de mat h.hint mai n{i ntn umber,iHp r intfPI ea seent eranumbe r=;M;/*输入整数*/s ca nf%d,numbe r;/*试探法试探的不同值*/for i=1;i sqr tnumberi++i,j,k,k;;forj=0j=i j++f ork=0;k=j;k++;;fo rl=0l=k l++/*若满足定理要求则输出结果*/i fnumber==i*i+j*j+k*k+l*l{,printfL%d=%d*%d+%d*%d+%d*%d+%d*%d\n”number,1,i,;exit0}验证尼科彻斯定理,即:任何一个整数的立方都可以写成一串连续奇数的和}3o#in clu des td iOoh i n tmainint a,b,c,d;;p rintf”Pleaseenter anum be r:,;/*输入整数*/scanf%d a;/*求整数的三次方*/b=a*a*a,,P rintf%d*%d*%d=%d=,a,a,a,b;;〈输出数列,首项为,等差值为f ord=O,c=O ca;c++/*a*a—a+12*/{;/*求数列的前项的和*/d+=a*a—a+l+c*2a prin t fc+%d%d,a*a-a+1+c*2;};/*若条件满足则输出ifd==bp rintfY\n“Y*/;/*否则输出else prin tfN\n“N”*/}自动发牌4o一副扑克有张牌.,打桥牌时应将牌分给四个人请设计一个程序完成自动发牌的工作要52求黑桃用表示;红桃用表示;方块用表示;梅S SpacesH Hea rtsD Di amo nds花用表示CClubs问题分析与算法设计a按照打桥牌的规定,每人应当有张牌在人工发牌时,先进行洗牌,13然后将洗好的牌按一定的顺序发给每一个人为了便于计算机模拟,可将人工方式的发牌过程加以修改先确定好发牌顺序、、、将张牌顺序编号:黑桃对应数字红桃对1234;5220,2应数字方块对应数字梅花对应数字黑桃对应数字红桃对应数字然后从1,22,23,34,35,…张牌中随机的为每个人抽牌.52这里采用语言库函数的随机函数,生成到之间的共个随机数,以产生洗牌后发牌C05152的效果#inc1ude std libh#inc1u des td iohoint c o mp const void*j,cons tvoid*i;void pint b[],char n[];i ntma inv oid{「,,s taticcha rn[]={2,3,456,7,8,9JJK/A};inta
[53],bl
[13],b2
[13],b3
[13],b4
[13];int bll=0,b22=0,b33=0,b44=0,t=1,m,fla g,i;/*控制发张牌*/whi1e t=5252{;/*产生至之间的随机数*/m=rand%520U51;;++/*查找新产生的随机数是否已经存在*for fla g=1,i=l i=tfla gi ifm==a[i]产生的是新的随机数新产生的随机数已经存在*/flag=0;/*f1a g=1:f1ag=Oif flag{;/*如果产生了新的随机数,则存入数组*/a[t++]=m;/*根据的模值,判断当前*/ift%4==0bl[bl1++]=a[t-l]t/*的牌应存入哪个数组中*/else ift%4==l b2[b22++]=a[t—1];;e Iseif t%4==2b3[b33++]=a[t-1]else ift%4==3b4[b44++]=a[t—1];};/*将每个人的牌进行排序*/qso rtbl,13,s iz eof i nt,comp;q sortb2,13,s iz eo f int,com p;qsort b313,siz e ofi nt,c om pzq sortb4,13,si zeofint,comp;;/*分别打印每个人的牌*/P b1,n;pb2,n;p b3,n;p b4,nre tu rn0;v oidpintb[],c harn[]{;int in;/*打印黑桃标记*/printf\n\0O6”;/*将数组中的值转换为相应的花色*/fori=0;i13i++%;/火该花色对应的牌*/if b[i]/13==0prin tfc”,n[b[i]%13]H/*打印红桃标记*/print f\n\003;;f ori=0i13i++H H;i fb[i]/I3==1prin tf%c,n[b[i]%13];/*打印方块标记*/print f”\n\004;for i=0;il3i++,z z;if b[i]/13==2p rintf%c n[b[i]%13];,/*打印梅花标记*/printf\n\005;;〈;fori=0i13i++〃%Hifb[i]/13==3||b[i]/13==4p ri ntfc,n[b[i]%13];;printfCXn调用的排序函数*/i ntcompconstvo id constv oid*i/*qso rt{retu rn*int*i—*int*j;。
个人认证
优秀文档
获得点赞 0