1460 卡布列克常数
题目描述
任意一个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 卡布列克常数相关推荐
- C语言编程验证卡布列克,C趣味程序百例(26)卡布列克常数
83.卡布列克常数 验证卡布列克运算.任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的的四位数: 2)将组成该四位 ...
- Python笔记 | 卡布列克常数
文章目录 0x00 前言 0x01 问题分析 0x02 代码设计 0x03 代码流程 0x04 完整代码 0x05 运行效果 0x06 参考文献 0x07 总结 0x00 前言 任意一个不是由完全相同 ...
- C语言编程验证卡布列克,C语言生趣程序百例精解之JAVA实现(83):卡布列克常数...
C语言趣味程序百例精解之JAVA实现(83):卡布列克常数 C语言趣味程序百例精解之JAVA实现: public class Test83{ public static void main(Strin ...
- [慈溪2010]卡布列克常数
题目描述 最近,小Q在数学兴趣课中了解了"卡布列克常数".卡布列克是一位数学家,他在研究数字时发现:任意一个不是用完全相同数字组成的四位数,如果对它们的每位数字重新排序,组成一个最 ...
- java验证卡布列克常数
/* * java验证卡布列克常数 */ package test1; import java.util.Scanner; public class demo { public static vo ...
- 100个python算法超详细讲解:卡布列克常数
[100个python算法超详细讲解]@谷哥技术 1.问题描述 对于任意一个4位数n,进行如下的运算: 1)将组成该4位数的4个数字由大到小排列,形成由这4个数字构 成的最大的4位数. 2)将组成该4 ...
- JavaScript卡布列克常数
<!DOCTYPE html> <html><head><meta charset="utf-8"><title>< ...
- c语言验证卡不列克常数,卡布列克数
卡布列克数(Kaprekar number)是具有以下性质的数: 对于某个正整数X {\displaystyle X} 在n进位下存在正整数 A, B 及 m,且0 < B < b n { ...
- 数学黑洞(一)令人拍案叫绝的卡布列克常数
卡布列克是一位数学家,他在研究数字时发现:任意一个不是有完全相同数字的组成的四位数,如果对它们的每位数字重新排序,组成一个最大的数各一个最小的数,然后用最大数减去最小数,差不够四位数时补零,类推下去, ...
最新文章
- kernel logo到开机动画之间闪现黑屏(android 5.X)
- java 打印当月日历_Java打印日历表
- 【Flutter】shared_preferences 本地存储 ( 简介 | 安装 shared_preferences 插件 | 使用 shared_preferences 流程 )
- Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
- 使用PORT对HOSTNAME执行DICOM Q / R操作的测试程序
- HTTP调试工具:Fiddler 介绍二
- git 删除已add的文件夹_如何删除还没有被add到git的文件(git clean的用法)
- EF Core 数据库 Provider 一览
- 肯德基收银系统模式_肯德基的完整形式是什么?
- 【Linux】文件操作系统调用
- [css] 如何阻止:hover、:active等鼠标行为状态的触发?
- 蓝奏网盘直链转换器 v1.1
- linux成为管理员_为什么要成为系统管理员
- Java-Arrays数组操作
- Elasticsearch 为什么能做到快速检索?秘密在这里!
- 小飞机安卓android手机设置教程,全民飞机大战叉叉助手安卓版设置步骤教程详解...
- HTML5新控件 - 日期和时间选择输入
- 手机app系统软件开发报价单及方案:费用明细
- 华为云IoT体验:基于IoT平台构建智慧路灯应用
- Windows Server2012默认的80端口被System进程占用解决办法