实验4-1-12 黑洞数 (20 分)
黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。

任何一个各位数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数。)

例如,对三位数207:

第1次重排求差得:720 - 27 = 693;
第2次重排求差得:963 - 369 = 594;
第3次重排求差得:954 - 459 = 495;
以后会停留在495这一黑洞数。如果三位数的3个数字全相同,一次转换后即为0。

任意输入一个三位数,编程给出重排求差的过程。

输入格式:
输入在一行中给出一个三位数。

输出格式:
按照以下格式输出重排求差的过程:

序号: 数字重排后的最大数 - 重排后的最小数 = 差值
序号从1开始,直到495出现在等号右边为止。

#include<stdio.h>
int main() {int n,a,b,c,k=1,t,max,min,count=0;scanf("%d",&n);while(k!=495) {a=n%10;/*输出每位上的数*/b=n/100;c=(n%100)/10;if(a>b) {t=a;a=b,b=t;}/*比较大小排序*/if(a>c) {t=a;a=c;c=t;}if(b>c) {t=b;b=c;c=t;}min=a*100+b*10+c;max=c*100+b*10+a;k=max-min;count++;printf("%d: %d - %d = %d\n",count,max,min,k);n=k;
}return 0;
}

实验4-1-12 黑洞数 (20 分)相关推荐

  1. PTA:7-48 黑洞数 (20分)--加解析

    7-48 黑洞数 (20分) 黑洞数也称为陷阱数,又称"Kaprekar问题",是一类具有奇特转换特性的数. 任何一个各位数字不全相同的三位数,经有限次"重排求差&quo ...

  2. 7-160 找完数 (20 分)

    7-160 找完数 (20 分) 所谓完数就是该数恰好等于除自身外的因子之和.例如:6=1+2+3,其中1.2.3为6的因子.本题要求编写程序,找出任意两正整数m和n之间的所有完数. 输入格式: 输入 ...

  3. 实验4-1-5 统计素数并求和 (20 分)

    实验4-1-5 统计素数并求和 (20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输 ...

  4. 实验10-1 圆形体体积计算器 (20 分)2021年2月

    实验10-1 圆形体体积计算器 (20 分) 本题要求实现一个常用圆形体体积的计算器. 直接上答案: #include<stdio.h> #define pi 3.14159265358/ ...

  5. 实验4-2-3 pta验证“哥德巴赫猜想” (20分)

    验证"哥德巴赫猜想" (20分) 数学领域著名的"哥德巴赫猜想"的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19,其中5和19都是 ...

  6. 实验6-4 使用函数输出指定范围内的完数 (20 分)(python)

    本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数.所谓完数就是该数恰好等于除自身外的因子之和.例如:6=1+2+3,其 ...

  7. python编写一个判断完数的函数过程_第4章-30 找完数 (20分)python

    所谓完数就是该数恰好等于除自身外的因子之和.例如:6=1+2+3,其中1.2.3为6的因子.本题要求编写程序,找出任意两正整数m和n之间的所有完数. 输入格式: 输入在一行中给出2个正整数m和n(1 ...

  8. 1019 数字黑洞 (20 分)java

    给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...

  9. 【简便解法】1079 延迟的回文数 (20分)_31行代码AC

    立志用更少的代码做更高效的表达 PAT乙级最优解+分析汇总-->传送门 给定一个 k+1 位的正整数 N,写成 ak-a1a0的形式,其中对所有 i 有 0≤a​i<10 且 a​k ​​ ...

  10. 习题6-4 使用函数输出指定范围内的Fibonacci数 (20 分)

    本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数.所谓Fibonacci数列就是满足任一项数 ...

最新文章

  1. Shell:字符串操作
  2. FragmentTabHost切换Fragment时避免重复加载UI
  3. 适配器模式——类适配器模式,对象适配器模式
  4. 基于stm32f107 stm32cube 和 LWIP 协议实现 udp 组播通信
  5. 滴滴算法大赛算法解决过程 - 机器学习
  6. webpack的安装和使用
  7. Android官方开发文档Training系列课程中文版:线程执行操作之线程间通讯
  8. Python操作Jira提交BUG
  9. Python学习笔记015——汉字编码
  10. WM6.0系统WIFI与笔记本点对点互联详细解析
  11. eclipse14配置tomcat Server Locations
  12. [lua]紫猫lua教程-命令宝典-L1-01-11. lua的个人补充
  13. oracle sql索引查询,Oracle查询数据库的索引字段以及查询用索引
  14. eclipse安装插件速度很慢的解决方案
  15. 计算机网络(第八版)谢希仁
  16. Kubernetes 管理员认证(CKA)考试笔记(二)
  17. Markdown缩进控制
  18. linux单网卡多拨Adsl,ADSL多拨
  19. django 导出数据到excel表 导出excel表到目标路径及客户端下载
  20. MAC下搭建Hexo博客

热门文章

  1. 学生管理系统-C++版
  2. SpringBoot整合lombok日志
  3. 【C# 单因素方差分析(One Way ANOVA)】
  4. 感叹之余随手记—他山之石,可以攻玉
  5. 小米开箱 (原创)
  6. 如何利用华硕Mesh系统路由器在780平方公尺大的场域架设可靠的WiFi系统?
  7. android studio中添加EditText错误的解决方法
  8. fork和lockf应用
  9. 转载-代码的马斯洛金字塔
  10. foxmail客户单发送html活动页面(含链接跳转)邮件(发送 转发)