赞
踩
352
4
- #include <bits/stdc++.h>
- using namespace std;
- int a[3];
- int main() {
- int n;
- cin >> n;
- int cnt = 0;
- while (n != 495) {
- for(int i = 0; i < 3; i++) {
- a[i] = n % 10;
- n /= 10;
- }
- sort(a,a+3);
- n=a[2]*100+a[0]-a[0]*100-a[2];
- cnt++;
- }
- cout<<cnt;
- return 0;
- }
不用数组和排序的代码如下:
- #include <bits/stdc++.h>
- using namespace std;
- int main() {
- int n;
- int a,b,c;
- cin >> n;
- int cnt = 0;
- while (n != 495) {
- a=n/100;
- b=n/10%10;
- c=n%10;
- if (a>b){
- swap(a,b);
- }
- if (b>c){
- swap(b,c);
- }
- if (a>b){
- swap(a,b);
- }
- n=c*100+a-a*100-c;
- cnt++;
- }
- cout<<cnt;
- return 0;
- }
- #include <iostream>
- using namespace std;
- int main() {
- int n = 0;
- cin >> n;
- for (int t = 0; ; t++) {
- if (n == 495) {
- cout << t << endl;
- break;
- }
- int m0 = n % 10, m1 = n / 10 % 10, m2 = n / 100;
- int tmax = 0, tmin = 0;
- if (m0 >= m1 && m1 >= m2) {
- tmax = m0 * 100 + m1 * 10 + m2;
- tmin = m2 * 100 + m1 * 10 + m0;
- } else if (m0 >= m2 && m2 >= m1) {
- tmax = m0 * 100 + m2 * 10 + m1;
- tmin = m1 * 100 + m2 * 10 + m0;
- } else if (m1 >= m0 && m0 >= m2) {
- tmax = m1 * 100 + m0 * 10 + m2;
- tmin = m2 * 100 + m0 * 10 + m1;
- } else if (m1 >= m2 && m2 >= m0) {
- tmax = m1 * 100 + m2 * 10 + m0;
- tmin = m0 * 100 + m2 * 10 + m1;
- } else if (m2 >= m0 && m0 >= m1) {
- tmax = m2 * 100 + m0 * 10 + m1;
- tmin = m1 * 100 + m0 * 10 + m2;
- } else { // m2 >= m1 && m1 >= m0
- tmax = m2 * 100 + m1 * 10 + m0;
- tmin = m0 * 100 + m1 * 10 + m2;
- }
- n = tmax - tmin;
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。