话不多说,上代码

#include <stdio.h>
#include <string.h>
//阴啊这个题目 虽然告诉四位数但是范围是大于0的  而且最后的三个数字都要求是以四位数字输出 %04d 难度倒是不大 细节要注意
int max (int n)
{int i,h[10]={0};int sum=0;int j;for (j=0;j<4;j++){i = n%10;h[i]++;n/=10;}for (i=9;i>=0;i--){if (h[i]!=0) {sum*=10 ;sum += i;h[i]--;i++;} }return sum;
}
int min (int n)
{int i,h[10]={0};int sum=0;int j;for (j=0;j<4;j++){i = n%10;h[i]++;n/=10;}for (i=0;i<=9;i++){if (h[i]!=0) {sum*=10 ;sum += i;h[i]--;i--;} }return sum;
}
int main ()
{int n,t;scanf ("%d",&n);
//  printf ("%d %d",max(n),min(n));while (1){t=max(n) - min(n);printf ("%04d - %04d = %04d\n",max(n), min(n),t);n=t;if (n==6174 || n==0) break;}return 0;} 

其中 测试点 2,3,4是因为没有考虑到二位数,三位数的情况,比如 1 或者11,如果不考虑的话会陷入死循环。测试点1,3是因为输出=后面的那个数字没有以四位数字输出即0099这样的,其他的测试点就是前面两个数字也要保证四位输出。

PTA B1019/A069 .数字黑洞 几个测试点分析 C语言相关推荐

  1. C++学习之路 | PTA乙级—— 1019 数字黑洞 (20分)(精简)

    1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这 ...

  2. B1019/A1069 数字黑洞 借用string, algorithm快速完成

    通过大量库函数快速完成此题. 比如 sort对字符串排序 string.length()来对不足4位的数字补0 to_string()将string快速转为int (还有个astox函数可以实现str ...

  3. 3.B1019数字黑洞

    3.B1019数字黑洞 问题描述: 给定任一个各位数字不完全相同的四位正整数,如果先把四个数字按非递增排序,再按非递减排序,然后用第一个数字减第二个数字,将得到一个新的数字.一直重复这样做,很快会停在 ...

  4. B1019(数字黑洞)

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

  5. B1019 数字黑洞

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

  6. PTA | 1019 数字黑洞 (20分)

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

  7. PTA - 黑洞数(陷阱数、数字黑洞、Kaprekar问题)

    黑洞数也称为陷阱数,又称"Kaprekar问题",是一类具有奇特转换特性的数. 任何一个各位数字不全相同的三位数,经有限次"重排求差"操作,总会得到495.最后 ...

  8. PAT 乙级1019 数字黑洞

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

  9. 1019 数字黑洞(PAT乙级)

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

最新文章

  1. Unity 总裁 John Riccitiello 发话:VR足以匹敌互联网
  2. iterm2 mac链接linux工具 桌面程序Transmit
  3. (原)给定输入,输出全排列
  4. 自动化测试selenium(四)check,选中复选框,操作一组元素
  5. FileOprSer.class.php(文件上传与下载类)
  6. CodeGym—Java自学神器
  7. 精密电阻选购及换算方法
  8. logistic回归分析优点_一文详尽系列之逻辑回归
  9. 注册查看隐私协议 --- 滚动条是否滚动到底
  10. UVa 10141 - Request for Proposal
  11. 金蝶标准版迷你版常见问题汇总
  12. UWB基本原理分析2
  13. SAP FI CO模块常用事务代码
  14. 逆波兰算法(后缀表达式)
  15. 软件测试周刊(第59期):觉得自己生活的很好吗?为什么视而不见?
  16. 台式计算机如何双屏显示,一个电脑主机怎样接两个显示器_一个电脑连接两个显示器如何操作-win7之家...
  17. 2018-2019-2 20175227张雪莹《Java程序设计》 实验二《Java面向对象程序设计》
  18. 腾讯云服务器2核4G、4核8G、8核16G、16核32G配置报价表出炉
  19. uploadify多图上传php,Uploadify多上传图片插件
  20. 如何使用ABBYY软件校正不能完全识别的表格

热门文章

  1. flex布局写一个永动机~
  2. 小案例:利用Python写个教师常用的点名软件
  3. ECCV2020 | 论文阅读——Arbitrary-Oriented Object Detection with Circular Smooth Label
  4. 硕士论文评阅意见的模板参考
  5. 【SQL】cumt 数据库平台实践
  6. 马克扎克伯格节俭_马克·扎克伯格的垃圾实在很难抢
  7. php里 没temp文档 如何创建temp文档 win7,Win7更改Temp文件夹存储位置的操作方法
  8. Milvus 2.0 Knowhere 概览
  9. skywalking内部测试服务器安装记录
  10. Hook钩子C#实例