7-48 黑洞数 (20分)

黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。

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

例如,对三位数207:

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

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

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

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

序号: 数字重排后的最大数 - 重排后的最小数 = 差值

序号从1开始,直到495出现在等号右边为止。

输入样例:
123

输出样例:
1: 321 - 123 = 198
2: 981 - 189 = 792
3: 972 - 279 = 693
4: 963 - 369 = 594
5: 954 - 459 = 495

思路
将数的每位数分离出来,组成最大值和最小值,进行求差判断就行。
需要注意的是,当输入三个数相同时,输出应该为0,然后程序结束。
输入为495本身时,也要进行一次输出。具体代码如下:

#include<bits/stdc++.h>
using namespace std;int f(int x){int a[3];a[0]=x/100;a[1]=x/10%10;a[2]=x%10;sort(a, a+3);int maxx = a[2]*100+a[1]*10+a[0];int minn = a[0]*100+a[1]*10+a[2];cout << maxx << " - " << minn << " = ";return maxx-minn;
}int main(){int n;cin >> n;for(int i=1; n!=495||i==1; i++){cout << i << ": ";n = f(n);cout << n << endl;if(!n) return 0;}return 0;
}


欢迎大家批评改正!让我们共同进步,加油!!!

PTA:7-48 黑洞数 (20分)--加解析相关推荐

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

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

  2. PTA 7-9 叶节点求和 (20 分)

    PTA 7-9 叶节点求和 (20 分) 对给定的有N个节点(N>=0)的二叉树,求叶节点元素之和 没有当过父节点的节点都是叶子节点 #include <iostream> #inc ...

  3. C++学习之路 | PTA乙级—— 1012 数字分类 (20分)(精简)

    1012 数字分类 (20分) 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A ​1 ​​ = 能被 5 整除的数字中所有偶数的和: A ​2 ​​ = 将被 5 除后余 1 ...

  4. C++学习之路 | PTA乙级—— 1048 数字加密 (20 分)(精简)

    1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...

  5. C++学习之路 | PTA乙级—— 1034 有理数四则运算 (20 分)(精简)

    1034 有理数四则运算 (20 分) 本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是 ...

  6. C++学习之路 | PTA乙级—— 1027 打印沙漏 (20 分)(精简)

    1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个 ...

  7. C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)

    1007 素数对猜想 (20分) 让我们定义d ​n ​​ 为:d ​n ​​ =p ​n+1 ​​ −p ​n ​​ ,其中p ​i ​​ 是第i个素数.显然有d ​1 ​​ =1,且对于n> ...

  8. PTA练习题1027 打印沙漏 (20分)

    1027 打印沙漏 (20分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符 ...

  9. [PTA] 7-23 币值转换(20 分)

    7-23 币值转换(20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...

最新文章

  1. form 提交多个对象及springMVC接收
  2. Tensorflow官方文档---起步 MNIST示例
  3. 苹果6发布时间_苹果11月秋季发布会直播时间几点 App Store提前爆大招
  4. FTP多路径递归下载
  5. PHP使用echo输出标签设置CSS样式问题
  6. 【数字信号】基于matlab GUI简易电子琴(英文版)【含Matlab源码 873期】
  7. 10.Qt元素QTreeWidgetItem
  8. mac 不显示 外接屏幕_macbook pro 外接显示器显示不完全
  9. Windows 10系统安装AutoCAD 2007
  10. 麻将判断胡牌 java_麻将胡牌逻辑 java
  11. 李一男复出,能否完成一次“永不言败”的创业?
  12. Windows Xp SP3 chs 简体中文版下载
  13. ie11浏览器For win7 x64 官方下载 V9600 官方版
  14. 问题:微信小程序开发之 --- app.js文件介绍
  15. C++学习笔记(九)——运算符重载
  16. 文件损坏打不开怎么办?excel文件修复,看看这些解决办法
  17. Microsoft Office Word使用技巧(各种报告论文排版可能需要的小技巧)
  18. python在家创业项目_适合在家创业的项目有哪些 八大项目人人可做
  19. 【推荐系统论文精读系列】(五)--Neural Collaborative Filtering
  20. JSP encodeURI() 函数

热门文章

  1. 飞利浦发布全球最大显示器,40寸4K曲面夺人眼球
  2. 趣头条推广二类电商的广告效果怎么样?趣头条广告投放的展现形式
  3. gin获取GET和POST表单信息
  4. 如何通过电脑发送短信——开始篇
  5. utorrent 在ubuntu上怎么使用
  6. 活动星投票寻找最美家庭图片投票制作平台微信图文投票怎么制作
  7. iPhone迎十周年,曾告苹果抄袭的中国公司“经营异常”了
  8. Mac OS X El Capitan beta 6 + Xcode 7 beta 4 的问题有解了
  9. kali 学习成长之路
  10. 《从0到1:CTFer成长之路》常见的搜集