PAT乙级 1019. 数字黑洞 (20)

时间:2022-09-06 23:56:07

1019. 数字黑洞 (20)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。

例如,我们从6767开始,将得到

7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
... ...

现给定任意4位正整数,请编写程序演示到达黑洞的过程。

输入格式:

输入给出一个(0, 10000)区间内的正整数N。

输出格式:

如果N的4位数字全相等,则在一行内输出“N - N = 0000”;否则将计算的每一步在一行内输出,直到6174作为差出现,输出格式见样例。注意每个数字按4位数格式输出。

输入样例1:

6767

输出样例1:

7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174

输入样例2:

2222

输出样例2:

2222 - 2222 = 0000
_______________________________________________________
 #include "stdio.h"
#include"string.h"
#include <stdlib.h>
int cmps(const void *a,const void *b);
int cmpj(const void *a,const void *b);
int main()
{
int i,j,s,aa,as[],aj[];
char a[];
gets(a);
if(strlen(a)==){ a[]=a[]=a[]='';a[]='\0';}//最后一位 一定要加'\0' 不然会显示乱码
if(strlen(a)==) { a[]=a[]='';a[]='\0';}
if(strlen(a)==) { a[]='';a[]='\0';}
if(a[]==a[]&&a[]==a[]&&a[]==a[])
printf("%s - %s = 0000",a,a); else
{
while()
{
qsort(a,,sizeof(a[]),cmpj);
printf("%s - ",a); for(i=;i<;i++)
as[i]=a[i]-'';
s=as[]*+as[]*+as[]*+as[];//将字符数组转换为int数 qsort(a,,sizeof(a[]),cmps);
printf("%s = ",a); for(i=;i<;i++)
aj[i]=a[i]-'';
j=aj[]*+aj[]*+aj[]*+aj[];//将字符数组转换为int数 aa=s-j;
a[]=aa%+'';a[]=aa/%+'';a[]=aa/%+'';a[]=aa/%+'';//将差转换为字符数组
printf("%s\n", a);//最后输出一定是字符串 而不是int 的aa,因为aa=9的时候输出错误。应该是0009
if(aa ==) break; }
} return ;
} int cmps( const void *a , const void *b ) { return *(char *)a - *(char *)b; }
int cmpj(const void *a,const void *b)
{return *(char *)b -*(char*)a;}

提交代码

PAT乙级 1019. 数字黑洞 (20)的更多相关文章

  1. PAT 乙级 1019 数字黑洞 &lpar;20&rpar; C&plus;&plus;版

    1019. 数字黑洞 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定任一个各位数字不完全相同的4位 ...

  2. 【PAT】1019 数字黑洞 &lpar;20&rpar;(20 分)

    1019 数字黑洞 (20)(20 分) 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做, ...

  3. PAT 乙级 1019&period;数字黑洞 C&plus;&plus;&sol;Java

    题目来源 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...

  4. PAT Basic 1019 数字黑洞 &lpar;20 分&rpar;

    给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞 ...

  5. 牛客网 PAT 算法历年真题 1009 : 1019&period; 数字黑洞 &lpar;20&rpar;

    1019. 数字黑洞 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定任一个各位数字不完全相同的4 ...

  6. PAT&lpar;B&rpar; 1019 数字黑洞(Java)

    题目链接:1019 数字黑洞 (20 point(s)) 分析 输入正整数n后,将n转成int型数组nArr[4] 用Arrays.sort(int[] a)方法将数组nArr非递减排序 很显然,非递 ...

  7. PAT-乙级-1019&period; 数字黑洞 &lpar;20&rpar;

    1019. 数字黑洞 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定任一个各位数字不完全相同的4位 ...

  8. PAT &lpar;Basic Level&rpar; Practise (中文)-1019&period; 数字黑洞 &lpar;20&rpar;

    http://www.patest.cn/contests/pat-b-practise/1019 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第 ...

  9. PAT 1019&period; 数字黑洞 &lpar;20&rpar;

    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...

随机推荐

  1. Oauth 2&period;0第三方账号登录原理图

    百度.QQ等服务商

  2. linux 安装程序

    tar文件打开 tar -xvf myfile.tar bz2文件打开

  3. linux之Apache

    apache  在linux下命令 2. 编译Apache 在src目录下 ./configure 可用 ./configure--help|less 得到帮助, make, make install ...

  4. javascript——归并方法

    <script type="text/javascript"> //ECMAScript5 还新增了2个归并数组的方法:reduce()和reduceRight(). ...

  5. POJ 3685 二分套二分

    Matrix Given a N × N matrix A, whose element in the i-th row and j-th column Aij is an number that e ...

  6. kafka producer batch 发送消息

    1. 使用 KafkaProducer 发送消息,是按 batch 发送的,producer 首先把消息放入 ProducerBatch 中: org.apache.kafka.clients.pro ...

  7. 【Java】NO&period;83&period;Tool&period;1&period;GlassFish&period;1&period;001-【GlassFish 5 安装使用】-

    1.0.0 Summary Tittle:[Java]NO.83.Tool.1.GlassFish.1.001-[GlassFish 5 安装使用]- Style:EBook Series:Java ...

  8. 常见聚类算法——K均值、凝聚层次聚类和DBSCAN比较

    聚类分析就仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组(簇).其目标是,组内的对象相互之间是相似的,而不同组中的对象是不同的.组内相似性越大,组间差别越大,聚类就越好. 先介绍下聚类的不 ...

  9. OpenGL初学&colon;安装配置与第一个程序

    OpenGL初学:安装配置与第一个程序 2014年10月12日 12:37:03 process-z 阅读数:12413 标签: opengl安装教程 更多 个人分类: OpenGL   计算机图形学 ...

  10. python摸爬滚打之day010----函数进阶

    1.函数动态传参 *args : 将所有的位置参数打包成一个元组的形式. **kwargs : 将所有的关键字参数打包成一个字典的形式. 形参的接收顺序:    位置参数 > *args &gt ...