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-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
2023-04-18 05:09:09
#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
int largest(string str) {
string s = "";
for (int i = str.size() - 1; i >= 0; i--) {
s += str[i];
}
return stoi(s);
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
string str; cin >> str;
int ans = 0;
set<int> s;
s.insert(stoi(str));
while (true) {
sort(str.begin(), str.end());
int a = stoi(str), b = largest(str);
str = to_string(b - a);
ans++;
int n = b - a;
for (int it : s) {
if (it == n) {
cout << ans;
return 0;
}
}
s.insert(n);
}
}
2022-12-23 01:29:51
#include <bits/stdc++.h>
using namespace std;
int
main ()
{
long long n, n1, n2, n3 = 0, i, l, a[100];
cin >> n;
for (i = 0; n != n3; i++){
for (l = 0, n1 = 0, n2 = 0, n3 = n; n > 0; l++)
{
a[l] = n % 10;
n /= 10;
}
for (int j = 0; j < l; j++)
for (int k = j; k < l; k++)
if (a[j] < a[k])
swap (a[j], a[k]);
for (int j = 0; j < l; j++)
{
n1 = n1 * 10 + a[j];
n2 = n2 * 10 + a[l - j - 1];
}
n = n1 - n2;
}
cout << i;
return 0;
}
huul2 ku2iinhan

Last edit: 2022-12-23 01:30:18
2022-12-14 07:11:32
#include<iostream>
#include<algorithm>
using namespace std;
string b;
int main()
{
long long a,k,c[1000],m,i,q[10000],j,l=1,u=0,f=1,z=0,count=0,h=1,v[10000],g;
cin>>a;
while(true){ q[0]=a;
k=a;
while(k>0){
c[l]=k%10;
k=k/10;
l++;
}
sort(c+1,c+l);
for(j=l-1;j>0;j--){
u=u*10+c[j];
}




m=a;
while(m>0){
if(m%10!=0) {
v[f]=m%10;
f++;}

m=m/10;

}
sort(v+1,v+f);
for(int y=1;y<f;y++){
z=z*10+v[y];
}

f=1;
a=u-z;
q[h]=a;
h++;
z=0;
u=0;
1;
count++;
sort(q+1,q+h);
for(g=2;g<h;g++){

if(q[g-1]==q[g]){
cout<<count;
return 0;}

}

}

ku-2 dulgnuu neg alda zasad enig ogchhi huul2 ahin duunar
}
2022-11-14 04:43:45
hugatsaanii hyazgaarlalt hetersn bodolt avbl av
#include <bits/stdc++.h>

using namespace std;

int main () {
int n, s, k, j, i, a[1000], t0, max_index, too1, too2, n_omnoh;

cin >> n;

int result=0;

n_omnoh = n - 1;

while(n != n_omnoh)
{
result++;

int n1 = n;

for ( i = 0; n1 >= 1; i ++ )
{
k = n1 % 10;
a[i] = k;
n1 = n1 / 10;
}
t0 = i;
for ( i = 0; i < t0; i ++ )
{
max_index = i;
for ( j = i; j < t0; j ++ )
{
if ( a[max_index] < a[j] ) max_index = j;
}
s = a[i];
a[i] = a[max_index];
a[max_index] = s;
}
s = 0;
for ( i = 0; i < t0; i ++ )
{
s = s * 10 + a[i];
}
too1 = s;

s = 0;
for ( i = t0 - 1; i >= 0; i -- )
{
s = s * 10 + a[i];
}
too2 = s;
n_omnoh = n;
n = too1 - too2;
}



cout << result << endl;

return 0;
}
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.