C/C++黑洞陷阱(Kaprekar问题)
495是一个很神奇的数,被称为黑洞数或者陷阱数
任务描述:
给定任何一个小于1000的正整数,经前位补0后可以得到一个三位数(两位数前面补1个0,一位数前面补2个0。如果这个三位数的三个数字不全相等,那么经过有限次“重排求差”操作(组成该数的数字重排后的最大数减去重排后的最小数),总会得到495,神奇吧
例如:
对于整数80,看看怎么得到495吧!
1.1:800-8=792 //第一次重排后求差(将80重排) |
2.2:972-279=693 //第二次,将第一次的结果重排求差 |
3.3:963-369=594 //第三次,将第二次的结果进行重排求差 |
4.4:954-459=495 //将上次的结果进行重排求差 |
具体代码如下:
#include<stdio.h>
int main()
{int count = 0;int a, b, c, n,tmp,max,min;scanf_s("%d", &n);if (n < 1000){while (n != 495){a = n % 10;b = n / 10 % 10;c = n / 100;while (a != b||a != c){if (a < b){tmp = a;a = b;b = tmp;}if (a < c){tmp = a;a = c;c = tmp;}if (b < c){tmp = b;b = c;c = tmp;}break;}max = a * 100 + b * 10 + c;min = c * 100 + b * 10 + a;n = max - min;count++;printf("%d:%d-%d=%d\n", count, max, min, n);}}return 0;
}
结果如下:
如有问题请指正。
C/C++黑洞陷阱(Kaprekar问题)相关推荐
- PTA - 黑洞数(陷阱数、数字黑洞、Kaprekar问题)
黑洞数也称为陷阱数,又称"Kaprekar问题",是一类具有奇特转换特性的数. 任何一个各位数字不全相同的三位数,经有限次"重排求差"操作,总会得到495.最后 ...
- c语言数位重排为最大数,18.12.09-C语言练习:黑洞数 / Kaprekar问题(示例代码)
题目: 程序: 1 #include 2 3 int main(void) {4 intn, a, b, c, t, A, B;5 printf("输入一个三位数整数:");6 s ...
- c语言黑洞数习题,18.12.09-C语言练习:黑洞数 / Kaprekar问题
题目: 程序: 1 #include 2 3 int main(void) {4 intn, a, b, c, t, A, B;5 printf("输入一个三位数整数:");6 s ...
- 用Haskell写的卡普雷尔卡kaprekar黑洞小程序
无意中在博客园里发现这个卡普雷尔卡黑洞题目,正好适合用haskell练手,就试着用Haskell实现了. 原题描述: 把一个四位数的四个数字由小至大排列,组成一个新数,又由大至小排列排列组成一个新数, ...
- 数字黑洞6174(Kaprekar常数)之java演示
1 简介 数字黑洞6174,也称"卡谱耶卡常数"(Kaprekar). 任意选一个四位数(数字不能完全相同),把所有的数字从大到小排列,再把所有数字从小到大排列,用前者减去后者,得 ...
- 5位数的数字黑洞是多少_每日一题[491]数字黑洞--Kaprekar常数
定义$\overline{abc}$是一个三位数,其中各数位上的数字$a,b,c\in \{ 0,1,2,3,4,5,6,7,8,9 \}$且不全相同.定义如下运算$f$:把$\overline{ab ...
- Kaprekar constant(卡普雷卡尔黑洞)
昨天在朋友的微博里看到一条关于数字迭代的有趣的题目.然后正好自己刚刚放假就没事写写,正好检验下我最近算法是否提高,其中弯路很多,追求在多次实践中来锻炼自己的逻辑和编码能力. 其中描述是: 把一个四位数 ...
- 实验4-1-12 黑洞数 (20 分)
实验4-1-12 黑洞数 (20 分) 黑洞数也称为陷阱数,又称"Kaprekar问题",是一类具有奇特转换特性的数. 任何一个各位数字不全相同的三位数,经有限次"重排求 ...
- 7-10 黑洞数(20 分)
软件学院第十二次训练 240 分 编程题共 12 小题,共计 240 分 剩余时间: 818:53:44 剩余时间: 818:53:44 编程题 7-10 黑洞数(20 分) 黑洞数也称为陷阱数,又称 ...
最新文章
- 公司这套架构统一处理 try...catch 这么香,求求你不要再满屏写了,再发现扣绩效!...
- Android 个人学习笔记- 导入android项目,无法自动生成R文件的解决方法
- Android 开关按钮切换,类似于iphone 效果,view实现
- 【Prometheus 】 Blackbox_exporter 指标 probe_http_duration_seconds
- 开发实践 | android网络通信 接收和发送数据详解
- k8s kubectl run命令使用详解
- 深入理解Cache工作原理
- 潜入水下后,水越深,受周围的挤压力越大...
- android代码混淆作用,Android代码混淆
- 计算机网络技术ui设计,UI设计小白到大神的进阶之路—入门基础篇
- javascript 表单提交和验证的方法
- 触摸屏校准之tslib
- Linux重置root 密码
- 音乐能力与计算机能力结合,作曲与作曲技术理论专业(计算机作曲与音乐制作)培养方案...
- Android Binder机制(1):Binder架构分析
- wireshark怎么抓包、wireshark抓包详细图文教程
- 对客户信息收集,收集用户行为的方法总结
- 前海征信“好信杯”大数据算法大赛——入门篇笔记
- Html+Css面试题及答案
- SpringMVC创建Maven工程
热门文章
- flink on k8s部署方案调研
- 前端(JQuery):使用magnify插件实现图片预览
- CSDN《IT人才成长路线图》重磅开源!60+专家,13个技术领域,绘出35张图谱
- Fortran中go to语句的罕见用法
- 天津轻工职业技术学院计算机专业怎么样,天津轻工职业技术学院可以转专业吗,天津轻工职业技术学院新生转专业政策...
- 基于 SQL SERVER 的分布式数据库设计与实现
- 前端日历,vue日历,一周的日历
- Invalid packaging for parent POM , must be “pom“ but is “jar“
- Beginning WF4读书笔计 - 第一章 03设计示图及xaml代码
- Maven安装和配置阿里云镜像(解决在idea中Maven加载依赖慢的问题,保姆级教学)