PAT Basic Level 1019. 数字黑洞(20)
来源:互联网 发布:微信卖看片软件是什么 编辑:程序博客网 时间:2024/06/01 07:14
【来源】
1019.数字黑洞(20)
【分析】
按照题意直接码代码即可。需要注意两点:
- 输出数的时候需要注意不足四位数要用0补齐;
- 注意输入为6174的情况。
【源码】
#include <iostream>#include <string>#include <algorithm>using namespace std;string tostring(int n){ string s; if (n < 10){ char cn = n + '0'; s = "000"; s += cn; } else if (n < 100){ int shi = n / 10; int ge = n % 10; char cge = ge + '0'; char cshi = shi + '0'; s = "00"; s += cshi; s += cge; } else if (n < 1000){ int bai = n / 100; int shi = (n - bai * 100)/10; int ge = n % 10; char cge = ge + '0'; char cshi = shi + '0'; char cbai = bai + '0'; s = "0"; s += cbai; s += cshi; s += cge; } else if (n < 10000){ int qian = n / 1000; int bai = (n - qian*1000) / 100; int shi = (n - bai * 100 - qian * 1000) / 10; int ge = n % 10; char cge = ge + '0'; char cshi = shi + '0'; char cbai = bai + '0'; char cqian = qian + '0'; s = ""; s += cqian; s += cbai; s += cshi; s += cge; } return s;}int toint(string s){ int value = 0; for (int i = 0; i < s.length(); ++i){ int digit = s[i] - '0'; value = value * 10 + digit; } return value;}int main(){ int n; cin >> n; if (n == 6174){ cout << "7641 - 1467 = 6174" << endl; } else{ string s = tostring(n); string ss(s); while (ss != "6174"){ string small(ss); string big(ss); sort(small.begin(), small.end()); sort(big.rbegin(), big.rend()); int result = toint(big) - toint(small); cout << big << " - " << small << " = " << tostring(result) << endl; ss = tostring(result); if (ss == "0000"){ break; } } } system("pause"); return 0;}【点评】
此题为简单的模拟题。考察字符串处理、简单排序等基础知识。
0 0
- PAT BASIC LEVEL 1019. 数字黑洞 (20)
- PAT Basic Level 1019. 数字黑洞(20)
- PAT (Basic Level) Practise (中文)1019. 数字黑洞 (20)
- PAT (Basic Level) Practise (中文)1019. 数字黑洞 (20)
- PAT (Basic Level) Practise (中文) 1019. 数字黑洞 (20)
- PAT (Basic Level) Practise (中文)1019. 数字黑洞 (20)
- PAT (Basic Level)1019. 数字黑洞
- 【C++】浙大PAT (Basic Level)1019. 数字黑洞 (20)
- Basic Level 1019. 数字黑洞 (20)
- Pat(Basic Level)Practice--1019(数字黑洞)
- 【PAT 乙级(Basic Level)】数字黑洞
- PAT(Basic Level)_1019_数字黑洞
- PAT Basic 1019. 数字黑洞 (20)
- PAT Basic 1019. 数字黑洞 (20)(C语言实现)
- PAT乙级(Basic Level)真题 1009.数字黑洞
- PAT basic 1019 : 数字黑洞
- PAT BASIC 1019 数字黑洞
- 【PAT】(乙级)1019. 数字黑洞 (20)
- 色温的概念及常见的光源
- 关于虚拟磁带库(转自51cto)
- 关于用构造器初始化对象
- 客户端如何向https服务器发送数据
- Spring-AOP通知
- PAT Basic Level 1019. 数字黑洞(20)
- @netserviceHandle及@符号的学习
- 第二章 图形界面还是命令窗口
- MATLAB EM2D 算法
- 查找替换使用方法
- Android--多线程之Handler
- PAT Advanced Level 1004:Counting Leaves
- win7 ghost安装教程
- MATLAB 视频读取及灰度化