题目描述

任意一个4位数,只要它们各个位上的数字是不完全相同的,就有如下规律: 1、 将组成该4位数的4个数字由大到小排列,形成由这4个数字组成的最大的4位数A; 2、 将组成该4位数的4个数字由小到大排列,形成由这4个数字组成的最小的4位数B(如果4位数字中含有0,则得到的最小数不足4位); 3、 求A与B的差,得到一个新的4位数(高位零保留)。重复以上过程,最后得到的结果是6174,这个数被称为卡布列克数。请编程验证这一过程。

输入要求

先输入一个整数N,表示有N组数据(N<=10)。接着每行输入任意的一个4位正整数(假设输入数据肯定为4位数,最高位非零,且各位数字都是不同的)。

输出要求

针对上述的每一个4位正整数,按样例格式输出其转换到6174的每一步骤。

输入样例

2
1234
4356

输出样例

Case 1
Step 1:4321-1234=3087
Step 2:8730-378=8352
Step 3:8532-2358=6174
Case 2
Step 1:6543-3456=3087
Step 2:8730-378=8352
Step 3:8532-2358=6174
#include<stdio.h>
int max(int n);//顾名思义
int min(int n);int main()
{int j,k,i,n,x;scanf("%d",&x);for(i=0;i<x;i++){int t=1; scanf("%d",&n);printf("Case %d\n",i+1);do{ j=max(n);k=min(n);n=j-k;printf("Step %d:%d-%d=%d\n",t,j,k,n);t++;//计数输出 }while(n!=6174);
}return 0;
}int max(int n)
{int i,s[4],j,da=0;for(i=0;i<4;i++){s[i]=n%10;n=n/10;//将每个数字存入数组 }for(i=0;i<3;i++){for(j=0;j<3-i;j++){if(s[j]>s[j+1])//冒泡排序 {int temp;temp=s[j];s[j]=s[j+1];s[j+1]=temp;}}}for(i=3;i>=0;i--)//组成最大四位数 {if(i==3){da=s[i];}else{da=(da*10)+s[i];}}return da;
} int min(int n)
{int i,j,s[4],xiao=0;for(i=0;i<4;i++){s[i]=n%10;n=n/10;}for(i=0;i<3;i++){for(j=0;j<3-i;j++){if(s[j]<s[j+1]){int temp;temp=s[j];s[j]=s[j+1];s[j+1]=temp;   }}}for(i=3;i>=0;i--){if(i==3){xiao=s[i];}else{xiao=(xiao*10)+s[i];}}return xiao;
}

1460 卡布列克常数相关推荐

  1. C语言编程验证卡布列克,C趣味程序百例(26)卡布列克常数

    83.卡布列克常数 验证卡布列克运算.任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的的四位数: 2)将组成该四位 ...

  2. Python笔记 | 卡布列克常数

    文章目录 0x00 前言 0x01 问题分析 0x02 代码设计 0x03 代码流程 0x04 完整代码 0x05 运行效果 0x06 参考文献 0x07 总结 0x00 前言 任意一个不是由完全相同 ...

  3. C语言编程验证卡布列克,C语言生趣程序百例精解之JAVA实现(83):卡布列克常数...

    C语言趣味程序百例精解之JAVA实现(83):卡布列克常数 C语言趣味程序百例精解之JAVA实现: public class Test83{ public static void main(Strin ...

  4. [慈溪2010]卡布列克常数

    题目描述 最近,小Q在数学兴趣课中了解了"卡布列克常数".卡布列克是一位数学家,他在研究数字时发现:任意一个不是用完全相同数字组成的四位数,如果对它们的每位数字重新排序,组成一个最 ...

  5. java验证卡布列克常数

    /*  * java验证卡布列克常数  */ package test1; import java.util.Scanner; public class demo { public static vo ...

  6. 100个python算法超详细讲解:卡布列克常数

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 对于任意一个4位数n,进行如下的运算: 1)将组成该4位数的4个数字由大到小排列,形成由这4个数字构 成的最大的4位数. 2)将组成该4 ...

  7. JavaScript卡布列克常数

    <!DOCTYPE html> <html><head><meta charset="utf-8"><title>< ...

  8. c语言验证卡不列克常数,卡布列克数

    卡布列克数(Kaprekar number)是具有以下性质的数: 对于某个正整数X {\displaystyle X} 在n进位下存在正整数 A, B 及 m,且0 < B < b n { ...

  9. 数学黑洞(一)令人拍案叫绝的卡布列克常数

    卡布列克是一位数学家,他在研究数字时发现:任意一个不是有完全相同数字的组成的四位数,如果对它们的每位数字重新排序,组成一个最大的数各一个最小的数,然后用最大数减去最小数,差不够四位数时补零,类推下去, ...

最新文章

  1. kernel logo到开机动画之间闪现黑屏(android 5.X)
  2. java 打印当月日历_Java打印日历表
  3. 【Flutter】shared_preferences 本地存储 ( 简介 | 安装 shared_preferences 插件 | 使用 shared_preferences 流程 )
  4. Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
  5. 使用PORT对HOSTNAME执行DICOM Q / R操作的测试程序
  6. HTTP调试工具:Fiddler 介绍二
  7. git 删除已add的文件夹_如何删除还没有被add到git的文件(git clean的用法)
  8. EF Core 数据库 Provider 一览
  9. 肯德基收银系统模式_肯德基的完整形式是什么?
  10. 【Linux】文件操作系统调用
  11. [css] 如何阻止:hover、:active等鼠标行为状态的触发?
  12. 蓝奏网盘直链转换器 v1.1
  13. linux成为管理员_为什么要成为系统管理员
  14. Java-Arrays数组操作
  15. Elasticsearch 为什么能做到快速检索?秘密在这里!
  16. 小飞机安卓android手机设置教程,全民飞机大战叉叉助手安卓版设置步骤教程详解...
  17. HTML5新控件 - 日期和时间选择输入
  18. 手机app系统软件开发报价单及方案:费用明细
  19. 华为云IoT体验:基于IoT平台构建智慧路灯应用
  20. Windows Server2012默认的80端口被System进程占用解决办法

热门文章

  1. 确定 k8s 的 Annotation 与 Labels 你用对了?
  2. 红帽宣布发布企业容器仓库开源项目 Quay
  3. 移动硬盘和u盘的区别
  4. Unity (二) Animator:Events : 动画事件案例(呐喊出现字幕)
  5. 部分后台网站排版介绍
  6. Python练习笔记 - - 彩色宝石项链
  7. Detectron2 官方文档详细解读 (上)
  8. Android 获取位置信息(经纬度)(附代码)
  9. C语言——细节决定成败(一)
  10. 网易java面试题集锦