本文主要是介绍1069. The Black Hole of Numbers (20),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 原题: https://www.patest.cn/contests/pat-a-practise/1069
2. 思路:
思路:
主要是要把数字转换成字符串,进行排序,条件符合输出就好了。
我用的sprintf转换成字符串。
主要是要把数字转换成字符串,进行排序,条件符合输出就好了。
我用的sprintf转换成字符串。
3. 源码(已AC):
#include<iostream>
#include<algorithm>//使用sort函数
#include<functional>使用仿函数greater,用来降序排序
using namespace std;int main(void)
{//freopen("in.txt", "r", stdin);int num;cin >> num;int n1, n2, sub = num;char s[5];//存储字符串do//至少执行一次{int len = sprintf(s, "%d", sub);while (len < 4)//不够4位要补0s[len++] = '0';sort(s, s + 4, greater<char>());n1 = (s[0] - '0') * 1000 + (s[1] - '0') * 100 + (s[2] - '0') * 10 + s[3] - '0';sort(s, s + 4);n2 = (s[0] - '0') * 1000 + (s[1] - '0') * 100 + (s[2] - '0') * 10 + s[3] - '0';sub = n1 - n2;printf("%04d - %04d = %04d\n", n1, n2, sub);} while (sub != 0 && sub != 6174);//中断条件return 0;
}
这篇关于1069. The Black Hole of Numbers (20)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!