题型:编程题
数字黑洞
时间限制:1.0 s
内存限制:128.0 MB
问题描述
给定一个三位数,要求各位不能相同。例如,352是符合要求的,112是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到495!
试试看,重新排列352,得到的最大数为532,最小数为235,它们的差是297;变换297,得到972-279=693;变换693,963-369=594;变换594,954-459=495。因此, 经过4次变换得到了 。
现在,输入的三位数,你能通过编程得出,这个三位数经过多少次变换能够得到495吗?
输入描述
输入一行,包含一个符合要求的三位数N。
输出描述
输出一行,包含一个整数C,表示经过C次变换得到495。
样例输入1
352
样例输出1
4
更新时间:2023-10-02 14:15:10
|
【知识点】
CCF—GESP C++二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面的C++代码执行后其输出是( )。
int cnt = 0, N; for (int i =1; i < 10; i += 2) for (int j =0; j < i; j++) cnt += 1; cout << cnt;
| A. 100 |
B. 55 |
| C. 45 |
D. 25 |
2026-07-22
单选题
下面C++代码执行后其输出是( )。
int i,j;
for (i = 1; i < 12; i++){
if (i % 2 == 0)
continue;
for (j = 0; j < i; j++)
if (i * j % 2 == 0)
break;
if(j >= i)
cout << i * j << " ";
}
if(i >= 12)
cout << (i * j); | A. 0 0 |
B. 11 |
| C. 0 |
D. 0 11 |
2026-07-22
单选题
下面有关C++变量的说法,正确的是( )。2025.12-2
| A. 不可以用 for 作为变量名,因为 for 是C++的关键字(保留字)。 |
B. _tnt 不可以是变量名,因为变量名的第一个字符必须是英文字母。 |
| C. _tnt_ 不可以是变量名,因为最后一个字符容易与减号混淆。 |
D. 可以用 printf 作为变量名,因为 printf 是关键字,但这不是好习惯,因为 printf 有约定的功能与含义。 |
2026-07-22
单选题
阅读下面的C++代码。执行后如输入 5 ,其输出的字符图形是( )。
int n,i,j,k;
cin >> n;
for (i = 0; i < n; i++){
for (j = 0; j < n-i-1; j++)
cout << " ";
for (k = 0; k < 2*i+1; k++)
cout << "*";
cout << endl;
} A.***** **** *** ** * |
B.* *** ***** ******* ********* |
C.* ** *** **** ***** |
D.* ** *** **** ***** |
2026-07-22
