PAT1019数字黑洞
2016-02-17 22:02
127 查看
#include<stdio.h>
#include<algorithm>
using namespace std;
int maxx,minn;
void process(int a)
{
int s[5];
s[0] = a/1000;
s[1] = a/100%10;
s[2] = a%100/10;
s[3] = a%10;
sort(s,s+4);
maxx = s[3]*1000 + s[2]*100 + s[1]*10 + s[0];
minn = s[0]*1000 + s[1]*100 + s[2]*10 + s[3];
}
int main()
{
int a;
scanf("%d",&a);
process(a);
if(a/1000 == a/100%10 && a/100%10 == a%100/10 && a%100/10 == a%10)
printf("%04d - %04d = 0000\n",a,a);
else
{
do
{
process(a);
int out = maxx - minn;
printf("%04d - %04d = %04d\n",maxx,minn,out);
a = out;
}while(a != 6174);
}
return 0;
}
进行数字运算的时候 ,最好还是使用整形的数组,这样会比较方便而且不易出错。将整数单位存入数组的方法要熟练。
#include<algorithm>
using namespace std;
int maxx,minn;
void process(int a)
{
int s[5];
s[0] = a/1000;
s[1] = a/100%10;
s[2] = a%100/10;
s[3] = a%10;
sort(s,s+4);
maxx = s[3]*1000 + s[2]*100 + s[1]*10 + s[0];
minn = s[0]*1000 + s[1]*100 + s[2]*10 + s[3];
}
int main()
{
int a;
scanf("%d",&a);
process(a);
if(a/1000 == a/100%10 && a/100%10 == a%100/10 && a%100/10 == a%10)
printf("%04d - %04d = 0000\n",a,a);
else
{
do
{
process(a);
int out = maxx - minn;
printf("%04d - %04d = %04d\n",maxx,minn,out);
a = out;
}while(a != 6174);
}
return 0;
}
进行数字运算的时候 ,最好还是使用整形的数组,这样会比较方便而且不易出错。将整数单位存入数组的方法要熟练。
相关文章推荐
- codevs2306晨跑(SDOI2009)
- Objective-C中的instancetype和id区别
- java实现rabbitmq消息的发送接受
- android中的四种定位方式
- 枚举导致的WCF Web Service接口返回异常
- 极客学院视频源码资料
- 工具类问题解决方案
- 第2章{ 2-14 [选学]读懂bee的gulpfile.js }
- (2) Python 内置类型 –- 列表
- HDU_1565_方格取数(1)
- 第2章{ 2-13 使用抓包工具线上调试 }
- Android的性能优化
- ASCII码表
- 问题“undefined reference to `android_log_print”的解决办法
- CocoaPods的安装使用和常见问题
- openGl学习之加入颜色
- 第2章{ 2-12 使用gulp构建kissy工程 }
- CSAPP 3e Attack lab
- ssdb学习
- 你以为在用SharePoint但事实上不是