Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Duomenų failas: lmio_1997_3e1_ciklinis_skaicius_jau.in
Rezultatų failas: lmio_1997_3e1_ciklinis_skaicius_jau.out
Ciklinis skaičius
Natūralusis skaičius, sudarytas iš nelygių nuliui skaitmenų vadinamas cikliniu, jei jo skaitmenys tarsi generuoja seką pagal žemiau pateiktas taisykles.
Kairiausias skaičiaus skaitmuo laikomas pirmuoju sekos nariu.
Antrąjį sekos narį randame skaičiuodami pradinio skaičiaus skaitmenis į dešinę per tiek pozicijų, kokia yra pirmojo sekos nario reikšmė. Skaičiuojama ratu – pasiekus skaičiaus galą vėl pradedama nuo pradžios. Pagal antrojo sekos nario reikšmę analogiškai randamas trečiasis narys ir t. t.
Seka baigiama pasiekus kairiausiąjį skaičiaus skaitmenį (t.y. pirmąjį sekos narį). Visi skaičiaus skaitmenys turi įeiti į seką ir tik po vieną kartą.
Sakykime, turime skaičių 83441. Norėdami patikrinti, ar jis yra ciklinis skaičius, turime atlikti šiuos veiksmus:
- pradedame nuo kairiausio skaitmens, t. y. nuo 8: 8 3 4 4 1
- einame į dešinę per aštuonis skaitmenis: 8 3 4 4 1
- einame į dešinę per keturis skaitmenis: 8 3 4 4 1
- einame į dešinę per keturis skaitmenis: 8 3 4 4 1
- einame į dešinę per tris skaitmenis: 8 3 4 4 1
- paslenkame per vieną skaitmenį ir pagaliau pasiekiame pirmą skaičiaus skaitmenį, nuo kurio ir buvome pradėję: 8 3 4 4 1
Skaičiavimai baigiami. Gavomeseką 8 4 4 3 1. Kadangiduotojoskaičiausskaitmenysįeina į seką po vieną kartą, tai skaičius 83441 yra ciklinis.
Užduotis
Parašykite algoritmą, kuris patikrintų, ar duotas skaičius yra ciklinis, ir jei ne, tai reikia rasti mažiausią ciklinį skaičių, didesnį už duotąjį.
Pradiniai duomenys
Pradinis duomuo – natūralusis skaičius, turintis nuo 2 iki 8 skaitmenų imtinai.
Rezultatai
Rezultatas – mažiausias ciklinis skaičius, lygus duotajam skaičiui arba didesnis už jį.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
174 |
147 |
1234 |
1263 |