白书练习 6174问题
来源:互联网 发布:网络教育怎么上课 编辑:程序博客网 时间:2024/06/07 09:35
//// main.cpp// 6174问题//// Created by 张嘉韬 on 16/1/29.// Copyright © 2016年 张嘉韬. All rights reserved.//#include <iostream>#include <cstring>#include <algorithm>using namespace std;int cmp1(const void *a,const void *b)//从小到大{ return *(int *)a-*(int *)b;}int cmp2(const void *a,const void *b)//从大到小{ return *(int *)b-*(int *)a;}int main(int argc, const char * argv[]) { int n,flag,map[20]; int a[5],b[5],c[5]; cin>>n; cout<<n<<"->"; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); memset(map,0,sizeof(map)); for(int i=0;i<4;i++) a[i]=n%10,n=n/10; flag=0; while(flag==0) { memset(map,0,sizeof(map)); flag=1; for(int i=0;i<4;i++) {c[i]=b[i]=a[i];map[a[i]]=1;} qsort(b,4,sizeof(b[0]),cmp2); qsort(c,4,sizeof(c[0]),cmp1); for(int i=3;i>=0;i--) { if(b[i]-c[i]<0) b[i-1]--,a[i]=b[i]+10-c[i]; else a[i]=b[i]-c[i]; } for(int i=0;i<4;i++) { cout<<a[i]; if(map[a[i]]==0) flag=0; } if(flag!=1) cout<<"->"; } return 0;}
0 0
- 白书练习 6174问题
- ACM练习—6174问题
- 白书练习 WERTYU
- 白书练习 TEX
- 多线程练习----哲学家问题
- table 问题练习
- java练习--货船问题
- 练习,买房问题
- 练习:众数问题
- [每日练习]最大公约数问题
- 算法练习-背包问题
- 数组问题练习
- 台阶问题练习
- 算法练习--汉诺塔问题
- 白书练习 周期串
- 白书练习 小学生算数
- 白书练习 高精度阶乘
- 白书练习 字母重排
- Java生成不重复的数的方法(精确到毫秒级别)
- pycharm remote deployment 配置问题
- Leetcode 71. Simplify Path
- 关于web前端一些常见bug及解决方案
- 在latex中画算法流程图
- 白书练习 6174问题
- 机房重构---透过数据库设计体验学习的快乐
- 高级PHP应用程序漏洞审核技术
- 双色球、大乐透、3D精选版!祝君好运(Javascript)
- SSH进阶(2)——用Struts拦截器实现登陆限制
- [java04]java大数类
- 加入JavaScript 定时器开发俄罗斯方块模式的2048项目
- Hadoop—NN-学习三
- cl.exe