解题思路:
(1)输入一个整数,然后拆分成4个数字;
(2)排序,再重新组合成最大值和最小值,然后求他们之差;
(3)循环比较是否等于6174即可,注意有一个计数变量。
参考代码:
#include <bits/stdc++.h> using namespace std; int main() { int n,k,a[4]; k=0; cin>>n; while(n!=6174) { int m1,m2,i=0; while(n) { a[i++]=n%10; n/=10; } sort(a,a+4); m1=m2=0; for(int i=0;i<4;i++) { m1=m1*10+a[i]; m2=m2*10+a[3-i]; } n=m2-m1; k++; } cout<<k<<endl; return 0; }
0.0分
0 人评分
【计算球体积】 (C语言代码)浏览:1102 |
完数 (C语言代码)浏览:693 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:561 |
剪刀石头布 (C语言代码)浏览:1436 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:766 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:401 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:698 |
A+B for Input-Output Practice (C语言代码)浏览:472 |
文件操作浏览:661 |
C语言训练-斐波纳契数列 (C语言代码)浏览:450 |