Бодолт илгээх | Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
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
Нэмсэн: | 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 |