Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

RGB7583 - Давталт

Натурал тоог дараах алхамаар хувиргая.

  1. Тооны цифрүүдийг буурахааар эрэмбэлнэ.
  2. Тооны цифрүүдийг өсөхөөр эрэмбэлнэ.
  3. 1-р алхамд үүссэн тооноос 2-р алхамд үүссэн тоог хасна.
  4. Энэ нь тодорхой алхамын дараа 6174 болж давтагдана. 

Жишээ нь: 1243 тоо өгөгдсөн бол

4321-1234=3087

8730-387=8352

8532-2358=6174

7641-1467=6174 болж давталтын урт нь 4 байна.

Даалгавар: Натурал тоо өгөгдөхөд давталтын уртыг ол. Өгөгдсөн тооноос хамаараад давтагдах тоо ямарч алхамаас эхэлж болно. Давталтыг эхнээс нь тоолно.

Input

Натурал тоо. 232-аас бага.

Output

Давталтын тоо.

Example

Input 1 :

1243

Output 1 :

4

Input 2 :

444

Output 2 :

2

Input 3 :

495

Output 3 :

1


Нэмсэн:Bataa
Огноо:2013-02-06
Хугацааны хязгаарлалт:1s
Эх кодын хэмжээний хязгаарлалт:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Програмчлалын хэлүүд:ADA95 ASM32 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE
Эх сурвалж:2013 он аймаг, багш

hide comments
2024-12-12 08:50:45
#include <bits/stdc++.h>

using namespace std;

long long min (long long a) {
long long b = 0;
vector <int> v(10, 0);
while (a > 0) {
v[a % 10] ++;
a /= 10;
}
for (int i = 0; i < 10; i ++) {
while (v[i] > 0) {
b = b * 10 + i;
v[i] --;
}
}
return b;
}

long long max (long long a) {
long long b = 0;
vector <int> v(10, 0);
while (a > 0) {
v[a % 10] ++;
a /= 10;
}
for (int i = 9; i >= 0; i --) {
while (v[i] > 0) {
b = b * 10 + i;
v[i] --;
}
}
return b;
}

int main () {
long long n;
set<int > archive;
int c = 0;
cin >> n;

while (archive.count(n) == 0) {
archive.insert(n);
n = max(n) - min(n);
c ++;
}
//anujin bagsha bi olciishuuu bodlogiig chn
cout << c << endl;
}
2024-11-02 09:42:08
#include <bits/stdc++.h>
using namespace std;
long long next(long long x) {
int a[20], n=0;
while (x > 0) {
a[n] = x % 10;
n++;
x /= 10;
}
long long y = 0, z = 0;
sort(a, a + n);
for (int i = 0; i < n; i++) {
y = y * 10 + a[i];
}
for (int i = n - 1; i >= 0; i--) {
z = z * 10 + a[i];
}
return z - y;
}
int main() {
long long x;
cin >> x;
set<long long> seenNumbers;
int s = 0;
while (true) {
if (seenNumbers.count(x)) {
break;
}
seenNumbers.insert(x);
s++;
x = next(x);
}
cout << s << endl;
return 0;
}
2024-10-21 16:26:00
Imm teneg bodolgoo dakhij bytkhii oruulj bai
2024-09-10 09:21:57
teneg


Last edit: 2024-09-10 09:22:16
2024-01-12 09:39:39
#include<bits/stdc++.h>
#include<iostream>

using namespace std;

long long next(long long x) {
int a[20], n = 0, b = 0, s = 0;
while (x > 0) {
a[n] = x % 10;
n++;
x /= 10;
}
long long y = 0, z = 0;
sort (a, a + n);
for (int i = 0; i < n; i++) {
y = y * 10 + a[i];
}
for (int i = n - 1; i >= 0; i--) {
z = z * 10 + a[i];
}

return z - y;
}

int main(){
int q[100], n = 0, x, s = 0, f;
cin >> x;
q[n] = x;
n++;
while (true){
s++;
x = next(x);
f = 0;
for(int i = 0; i < n; i++){
if (x == q[i]){
f = 1;
break;
}
}
if (f == 1) break;
q[n] = x;
n++;
}
cout << s << endl;
}
2024-01-05 10:44:01
RGB7583 - Давталт
Натурал тоог дараах алхамаар хувиргая.

Тооны цифрүүдийг буурахааар эрэмбэлнэ.
Тооны цифрүүдийг өсөхөөр эрэмбэлнэ.
1-р алхамд үүссэн тооноос 2-р алхамд үүссэн тоог хасна.
Энэ нь тодорхой алхамын дараа 6174 болж давтагдана.
Жишээ нь: 1243 тоо өгөгдсөн бол

4321-1234=3087

8730-387=8352

8532-2358=6174

7641-1467=6174 болж давталтын урт нь 4 байна.

Даалгавар: Натурал тоо өгөгдөхөд давталтын уртыг ол. Өгөгдсөн тооноос хамаараад давтагдах тоо ямарч алхамаас эхэлж болно. Давталтыг эхнээс нь тоолно.

Input
Натурал тоо. 232-аас бага.

Output
Давталтын тоо.

Example
Input 1 :

1243

Output 1 :

4

Input 2 :

444

Output 2 :

2

Input 3 :

495

Output 3 :

1
2023-12-31 13:04:08

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
2023-12-13 12:56:51
#include <bits/stdc++.h>
using namespace std;

int main (){
long long a[10]={0},n , result = 0, k = 1, L,b,c,d;
long long q[1000], xx = 0;
cin >>n;
q[1] = n;
xx = 1;
while (true) {
for (int i = 0; i <= 9; i++) {
a[i] = 0;
}
L = 0;
result = 0;
while(n>0){
a[n%10]++;
n=n/10;
}
for(int i=9; i>=0; i--){
for(int j=0; j<a[i]; j++){
L=L*10+i;
}
}
for(int i = 0;i <= 9; i++){
for(int j = 1;j <= a[i]; j++){
result = result * 10 + i;
}
}
//cout << L << ' ' << result << endl;
n=L-result;

int yy = 0;
for (int i = 1; i <= xx; i++) {
if (q[i] == n) yy = 1;
}
if (yy == 1) {
break;
}
xx++;
q[xx] = n;
}
cout << xx << endl;
}
2023-07-25 13:33:11
387 bish 378 shu
2023-05-02 02:38:40
Натурал тоог дараах алхамаар хувиргая.

Тооны цифрүүдийг буурахааар эрэмбэлнэ.
Тооны цифрүүдийг өсөхөөр эрэмбэлнэ.
1-р алхамд үүссэн тооноос 2-р алхамд үүссэн тоог хасна.
Энэ нь тодорхой алхамын дараа 6174 болж давтагдана.
Жишээ нь: 1243 тоо өгөгдсөн бол

4321-1234=3087

8730-387=8352

8532-2358=6174

7641-1467=6174 болж давталтын урт нь 4 байна.

Даалгавар: Натурал тоо өгөгдөхөд давталтын уртыг ол. Өгөгдсөн тооноос хамаараад давтагдах тоо ямарч алхамаас эхэлж болно. Давталтыг эхнээс нь тоолно.

Input
Натурал тоо. 232-аас бага.

Output
Давталтын тоо.

Example
Input 1 :

1243

Output 1 :

4

Input 2 :

444

Output 2 :

2
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.