【C&C++】循环结构:黑洞陷阱 |
您所在的位置:网站首页 › 数字黑洞两位数 › 【C&C++】循环结构:黑洞陷阱 |
要求:
程序输入的一个小于1000且三个数字不全相等的整数,请你输出进入黑洞的重排求差过程。本问题又称“Kaprekar问题”。 495 是一个很神奇的数,被称为黑洞数或者陷阱数。 给定任何一个小于1000的正整数,经前位补0后可以得到一个三位数(两位数前面补1个0,一位数前面补2个0)。如果这个三位数的三个数字不全相等,那么经有限次“重排求差”操作(组成该数的数字重排后的最大数减去重排后的最小数),总会得到495。 例如,对整数80,前位补0后得到080,重排后可以得到800,008。此时可以得到的最大数为800,最小数为008(即8)。那么只需要4次重排求差即可得到495,过程如下: 1:800-8=792 //第一次 2:972-279=693 //第二次,将第一次的结果进行重排求差 3:963-369=594 //第三次,将第二次的结果进行重排求差 4:954-459=495 //第四次以此类推 相关知识要实现上述功能,需要反复做一些相同或相似的工作,也就是反复执行一些代码。这需要用到循环语句。 C 和 C++ 有3种基本的循环控制结构:while 语句、do-while 语句和 for 语句。 while 循环while 循环语句表现为: while ()其中 while 是 C 和 C++ 的关键字, 是循环控制条件,后面的语句是循环体。 while 语句执行过程首先计算的值,如果的值为0(即 false ),则跳过循环体,执行整个 while 语句的后继语句; 如果的值为非0(即 true ),则执行指定的,执行完该语句后,再计算的值,如果的值仍然为非0,则继续执行指定的,再进行测试 ……,直到的值为0,再跳过循环体,结束整个 while 语句的执行,接着执行整个 while 语句的后继语句。 执行流程图如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |