1069 The Black Hole of Numbers
注意两点:
1. 不足4位要补足,不仅仅是一开始要考虑,每次得到一个差值,都要考虑
2. 到0也会停下,不仅仅是一开始可能发生,也可能是过程中的某一个差值
另:
vector<int> 是可以作为函数的参数的。
AC代码
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
#include<stdlib.h>
#include<time.h>
#include<vector>
#include<set>
#include<string>
#include<queue>
#include<map>using namespace std;
typedef long long LL;const int maxn = 50007;
const int MOD = 1000000007;
const int INF = 1000000000;//INF:下确界
const LL SUP = (1LL<<63)-1;//SUP:上确界
const double eps = 1e-5;int getNum(vector<int> vi){int ans = 0;for(int i=vi.size()-1;i>=0;i--){ans = ans*10+vi[i];}return ans;
}int main(){string s;vector<int> vi; cin>>s;while(s.length()!=4){//不足4位补零 s+="0"; }for(int i=0;i<s.length();i++){vi.push_back(s[i]-'0');}sort(vi.begin(),vi.end());int big = getNum(vi);reverse(vi.begin(),vi.end());int small = getNum(vi);int sub = big - small;while(sub!=6174&&sub!=0){printf("%04d - %04d = %04d\n",big,small,sub);vi.clear();while(sub){vi.push_back(sub%10);sub /= 10;}while(vi.size()!=4){//不足4位补零vi.push_back(0);} sort(vi.begin(),vi.end()); big = getNum(vi);reverse(vi.begin(),vi.end());small = getNum(vi);sub = big - small;}printf("%04d - %04d = %04d\n",big,small,sub);return 0;
}
1069 The Black Hole of Numbers相关推荐
- PAT甲级1069 The Black Hole of Numbers:[C++题解]模拟、6174
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 注意特判 6174这个数:if(n == 6174) printf("7641 - 1467 = 6174\n" ...
- 1069. The Black Hole of Numbers (20)
题目如下: For any 4-digit integer except the ones with all the digits being the same, if we sort the dig ...
- [PAT-A 1069]The Black Hole of Numbers
题目大意: 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字. 已知这样做,答案就会停在61 ...
- 【PAT甲级 前导0,排序】1069 The Black Hole of Numbers (20 分) C++ 全部AC
题目 一直循环相减即可,直到结果为6174或者四个数字相同就结束循环 题解 C++ #include<iostream> #include<stdio.h> #include& ...
- 15行代码AC——1019 数字黑洞 (20分) 甲级1069. The Black Hole of Numbers (20)(解题报告)
立志用更少的代码做更高效的表达 PAT甲级最优题解-->传送门 Pat乙级最优化代码+题解+分析汇总-->传送门 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非 ...
- PTA甲级考试真题练习69——1069 The Black Hole of Numbers
题目 思路 水题,利用sprintf和sscanf进行字符串和整数的格式转换 代码 #include <iostream> #include<algorithm> using ...
- pat1069. The Black Hole of Numbers (20)
1069. The Black Hole of Numbers (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, ...
- PAT1069. The Black Hole of Numbers
//这是到水题,之前因为四位数的原因一直不能A,看了别人的程序,才明白,不够四位的时候没考虑到,坑啊.....脸打肿 #include<cstdio> #include<algori ...
- pat-1069 The Black Hole of Numbers (20分)
感觉我的解答比很多题解都好,嘻嘻就是模板的使用 但是需要去做注意一个测试点,如果输出的数字是一个小于1000的数,就是数位小于4,那么就需要自己去使用string的匿名函数去补上前导0 代码如下: # ...
最新文章
- cf-Sasha and Array
- 【转】无法将notepad++添加到打开方式列表中的解决办法
- linux怎么创建vi脚本,Vim 创建Python脚本时候自动补全解释器和编码方法
- VTK:PolyData之CellsInsideObject
- weblogic jms消息 删除_消息队列与消息中间件概述:消息中间件核心概念与技术选型...
- php获取laydate,laydate日历控件使用方法实例分享
- 零基础怎么玩转可视化大屏?这个工具只需5步!
- 直接学python3_新手应该学python2还是python3?
- 计算机网络误区——VLAN中Access和Trunk原理详解
- 激光计算机的基本原理和特点,3D激光传感器的原理及特点
- YUY与RGB格式区别
- 自考计算机00051笔记,自考00051 管理系统中计算机应用自考资料笔记自考小抄.doc...
- OVER(PARTITION BY)使用方法
- Linux代码编译(模式切换、gdb、编译器之间的对比、彩色进度条、rpm与yum区别)
- 游戏对战匹配逻辑小结
- 关于数据库锁的自问自答
- 伊利诺伊大学厄本那 香槟分校计算机科学,伊利诺伊大学厄本那-香槟分校计算机科学面试经验汇总...
- python药店销售数据分析_Python:某医院药品销售数据分析
- 高一计算机课期中考试总结反思,2017高一数学期中考试反思总结
- steam 平台 饥荒 联机版 Linux云服务器 搭建教程