模拟poj1350
来源:互联网 发布:行知教育集团 编辑:程序博客网 时间:2024/06/10 21:22
模拟poj1350
http://poj.org/problem?id=1350
题意:给你一个数,你用这个数重排序后的最大值减去最小值,当这个差值等于0或者6174时就结束,否则就用这个差值再排序再求差值。如果这个数不是四位数或者这个数的每位都相等时就输出"No!!",否则输出"Ok!! n times",n是前面直到那个数为0或者6174经过的次数。
AC代码如下:
#include<stdio.h>#include<stdlib.h>#include<iostream>#include<algorithm>using namespace std;int a[5];int main(){int n;while(~scanf("%d",&n)){int flag=0;if(n==-1)break;printf("N=%d:\n",n);a[0]=n/1000;a[1]=n/100%10;a[2]=n/10%10;a[3]=n%10;int cnt=0;int ans=n;if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3]||n>=10000||n<1000)printf("No!!\n");else{while(1){cnt++;a[0]=ans/1000;a[1]=ans/100%10;a[2]=ans/10%10;a[3]=ans%10;int q=0;for(int i=0; i<4; i++)if(a[i]==0)q++;elsebreak;sort(a,a+4);int x=a[0]*1000+a[1]*100+a[2]*10+a[3];int y=a[3]*1000+a[2]*100+a[1]*10+a[0];while(q){y/=10;q--;}ans=y-x;printf("%d-%d=%d\n",y,x,y-x);if(ans==0||ans==6174)break;}printf("Ok!! %d times\n",cnt);}}return 0;}
阅读全文
0 0
- POJ1350模拟
- 模拟poj1350
- poj1350 一个模拟
- POJ1350 Cabric Number Problem [模拟]
- poj1350
- POJ1350
- poj1350
- POJ1350
- poj1350
- POJ1350解题报告
- poj1350 Cabric Number Problem
- poj1350(Cabric Number Problem)
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 地形纹理技术
- 瞎搞poj1013
- 安装windows server 2016报错无法打开所需文件install.wim的解决方法
- Vega数据可视化工具—教你轻松玩转大数据可视化 | 附代码
- JavaScript学习--对象
- 模拟poj1350
- 在Eclipse 中项目 A 使用项目B中的类 使用link source
- windows下使用Jedis测试redis
- GCD信号量—dispatch_semaphore详解与使用
- 抽屉原理&&容斥原理&&欧拉函数 (小总结)
- windows下使用git
- 在解决方案中所使用 NuGet 管理软件包依赖
- 【Java并发编程】Fork/Join
- 扩展欧几里德定理--------乘法逆元