女人吃什么药补肾快:c语言的问题,请教本人初学者

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 18:18:12
验证卡布列卡猜想
印度数学家卡布列卡在研究数学问题时发现了一个很有趣的现象:用不完全相同的四
个数字组成一个四位数,然后将组成这个四位数的四个数字重新排序,组成一个最大的数和一个最小的数,并用最大的数减去最小的数,对减得的差再重复上述操作,差不够四位数时,用零补位。不断地做下去,最后变成了一个固定不变的数:6174。卡布列卡做了大量的试验,结果不论从任何满足条件的四位数开始,最后总能变成6174。因此,卡布列卡风趣地把6174叫做卡布列卡常数。
例如,从4231开始,把4231重新排列成4321和1234,两数相减得3087;再把3087
重新排列成8730和0378,两数相减得8352;再把8352重新排列成8532和2358,相减得6174;再把6174重新排列成7641和1467,两数相减仍然得6174。
4231——>4321-1234 = 3087
3087——>8730-0378 = 8352
8352——>8532-2358 = 6174
6174——>7461-1467 = 6174
现在,请你设计一个计算机程序,验证卡布列卡猜想。
【问题分析】
要解决这个问题,需要七步:
第一步,从键盘输入一个四位数,并把它存放在变量A中;
第二步,分离变量A中的每一位数字;
第三步,把这四位数字排序;
第四步,把排好序的数字按降序组成一个较大的数,按升序组成一个较小的数;
第五步,用较大的数减去较小的数,并把差存放在变量C中;
第六步,如果C = A,则程序结束;
第七步,如果C < 1 0 0 0,则把 C 扩大10 倍。再把C送入A中,转第二步。
这道题用字符串函数来处理非常方便。

这个问题不错,把它发到我邮箱里,有时间我做一下
xiangchen2005@163.com