I POSMA UZDEVUMI |
1. SKAITLIS
Uzrakstiet programmu, kas ievadītiem naturāliem skaitļiem n un m atrod tādu mazāko iespējamo naturālo skaitli k, kuram vienlaicīgi izpildās sekojošas īpašības:
Izvaddati
Teksta faila SKAITLIS.REZ
vienīgajā rindā jāizvada skaitļa k vērtība.
Piemērs
Ievaddati (fails SKAITLIS.DAT)
38 17
Izvaddati (fails SKAITLIS.REZ)
51
Aplī izvietoti N mazāki aplīši. Katrā aplītī ierakstīts pa naturālam skaitlim. Katrs skaitlis nākošajā gājienā tiek aizvietots ar skaitli pēc sekojoša algoritma :
Katram skaitļu trijniekam (šajā un blakus aplīšos ierakstītie skaitļi) tiek atrasts lielākais, mazākais un "trešais, pāri palikušais".
Aplītī tiek ierakstīta vērtība lielākais - mazākais + pāri_palikušais.
Tā, piemēram, ja aplūkojamajā aplītī ierakstīts 7, bet tā blakus aplīšos 3 un 8, tad lielākais ir 8, mazākais ir 3 un pāri paliek 7. Nākošajā gājienā šajā aplītī tiks ierakstīts 12 (jo 8-3+7=12).
Viens gājiens ir attēlots zīmējumā (ievērojiet, ka vērtības visos aplīšos tiek nomainītas vienlaicīgi):
Ievadītām naturālu skaitļu N un M, kā arī aplī izvietoto skaitļu vērtībām noteikt, kādi skaitļi būs ierakstīti aplīšos pēc M gājieniem.
Ievaddati
Teksta faila APLIS.DAT pirmajā rindā dotas
divu naturālu skaitļu N (N £1000)
un M (M £10) vērtības,
kas atdalītas ar tukšumsimbolu. Katrā no nākošajām N
rindām dots pa vienam mazajā aplītī ierakstītajam skaitlim. Skaitļi doti
pēc kārtas pulksteņrādītāja virzienā. Nevienā mazajā aplītī dotā vērtība
nepārsniedz 100.
Izvaddati
Teksta failam APLIS.REZ jāsatur tieši
n rindas - katrā rindā pa vienam skaitlim. Tiem jābūt aplīšos ierakstītajiem
skaitļiem pēc M gājieniem. Skaitļi
jāizvada tieši tādā secībā, kā tie
ierakstīti aplīšos (pēc kārtas pulksteņrādītāja virzienā, sākot ar to pašu
aplīti, ar kuru sākts ievaddatos).
Piemērs
Ievaddati (fails APLIS.DAT)
Izvaddati (fails APLIS.REZ)
7 2
16
1
9
2
7
3
8
4
9
5
13
6
12
7
Datorsistēmās, lai novērstu nevēlamu personu
piekļūšanu datiem, tiek izmantotas paroles - noteiktas simbolu virknes.
Tomēr, cilvēkiem pat zinot īsto paroli, to ievadot gadās kļūdīties. Raksturīgākie
kļūdu veidi ir sekojoši:
1) simbols ir izlaists;
2) iesprausts lieks simbols;
3) divi blakus esoši simboli samainīti
vietām;
4) simbola vietā ievadīts cits simbols.
Tā, piemēram, ja īstā parole būtu "SlePENs",
tad viena pirmā veida kļūda būtu virknei "SlePNs", otrā veida "SlePiENs",
trešā veida "SelPENs",ceturtā veida "SlEPENs".
Firmas "Aizdomas" speciālisti ir novērojuši, ka kādas vienas iepriekšaprakstītā veida kļūdas esamība paroles ievadīšanas laikā nerada būtiskus draudus sistēmas drošībai un arī šādas simbolu virknes var tikt atzītas par derīgām.
Uzrakstiet programmu, kas ievadītai īstajai parolei un kādai simbolu virknei nosaka, vai šī simbolu virkne var tikt atzīta par derīgu.
Ievaddati
Lielie un mazie burti ievaddatos tiek
uzskatīti par atšķirīgiem.
Teksta faila PAROLE.DAT
pirmajā rindā dota īstā parole - simbolu virkne, kas sastāv no latīņu alfabēta
burtiem. Simbolu virknes garums nepārsniedz 250 simbolus.
Faila otrajā rindā dota pārbaudāmā simbolu
virkne, kas sastāv no latīņu alfabēta burtiem. Simbolu virknes garums nepārsniedz
250 simbolus.
Izvaddati
Teksta faila PAROLE.REZ
pirmajā rindā jāizvada vārds NEDER,
ja ievadītā simbolu virkne nav derīga (kļūdu skaits ir lielāks par 1),
vai arī vārds DER,
ja simbolu virkne ir derīga (tā precīzi sakrīt ar paroli vai arī tajā ir
tieši viena iepriekšaprakstītā veida kļūda). Ja virkne ir derīga, tad faila
otrajā rindā jāizvada vai nu 0
(ja parole precīzi sakrīt), vai arī informācija par kļūdas veidu kā naturāls
skaitlis no 1
līdz 4
(saskaņā ar iepriekšaprakstītajiem kļūdu veidiem).
Piemēri
Ievaddati (fails PAROLE.DAT)
Izvaddati ( fails PAROLE.REZ)
SlePENs
DER
SelPENs
3
Ievaddati (fails PAROLE.DAT)
Izvaddati ( fails PAROLE.REZ)
SlePENs
NEDER
SelPeNs
Ievaddati (fails PAROLE.DAT)
Izvaddati ( fails PAROLE.REZ)
SlePENs
NEDER
SPelENs
Ievaddati
Teksta faila CIPARI.DAT
pirmajā rindā dota skaitļa A* vērtība,
otrajā rindā dota skaitļa B*, bet trešajā
- skaitļa C* vērtība.
Neviena skaitļa pieraksts nesākas ar nulli un nevienā skaitlī ciparu skaits
nepārsniedz 20.
Izvaddati
Teksta faila CIPARI.REZ
pirmajā rindā jāizvada ciparu x un y vērtības, kas atdalītas ar tukšumsimbolu.
Faila otrajā rindā jāizvada skaitļa A, trešajā - skaitļa B, ceturtajā -
skaitļa C vērtība.
Ja iespējami vairāki atrisinājumi, izvadiet vienu no tiem.
Piemēri
Ievaddati (fails CIPARI.DAT)
Izvaddati ( fails CIPARI.REZ)
923456781
1 9
2009
123456789
923458710
2001
123458790
Ievaddati (fails CIPARI.DAT)
Izvaddati ( fails CIPARI.REZ)
4242
4 2
2424
2424
6666
4242
6666
Ievaddati (fails CIPARI.DAT)
Izvaddati ( fails CIPARI.REZ)
53
8 9
17
53
70
17
70
Daudzstāvu namam ir n stāvi. Tajā ir lifts, kura vadība notiek tikai ar divu pogu ( un ) palīdzību. Nospiežot pogu , lifts pārvietojas tieši a stāvus augstāk, bet nospiežot pogu - tieši b stāvus zemāk. Saņemot komandu, kas liek pārvietoties augstāk par n-to, vai zemāk par pirmo stāvu, lifts nepārvietojas un paliek tajā pašā stāvā. Lifts atrodas k-tajā stāvā. Cikreiz, mazākais, jānospiež iepriekšminētās pogas, lai lifts tiktu pārvietots uz m-to stāvu ?
Ievadītām naturālu skaitļu n,a,b,k,m vērtībām izvadīt mazāko nepieciešamo pogu nospiedienu skaitu.
Ievaddati
Teksta faila LIFTS.DAT
pirmajā rindā dotas piecu naturālu skaitļu n,a,b,k,m
vērtības (n £ 10000; a<n;
b<n; k £ n; m
£ n). Starp katrām divām blakus vērtībām
ir viens tukšumsimbols.
Izvaddati
Teksta faila LIFTS.REZ
pirmajā rindā jāizvada viens vesels skaitlis - mazākais nepieciešamais
pogu nospiedienu skaits, kāds jāizdara, lai liftu pārvietotu uz m-to stāvu.
Ja pārvietot liftu uz m-to stāvu nav iespējams, teksta faila pirmajā rindā jāizvada teksts NEVAR.
Piemēri
Ievaddati (Fails LIFTS.DAT)
Izvaddati (Fails LIFTS.REZ)
100 4 2 1 22
NEVAR
Ievaddati (Fails LIFTS.DAT)
Izvaddati (Fails LIFTS.REZ)
11 2 3 10 6
3
Piezīme:
Iespējamā pogu nospiedienu secība ir: