Datuve :: Forums :: Arhīvs :: Programēšana..

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 116

Reģistrētie lietotāji online: 0

Viesi online: 116

Datuve.lv video
Top.LV

Programēšana..

Ievietoja: dugdade @ 2008.05.05 19:28  

Varat izpalīdzēt?
7. Naturāliem skaitļiem x un decimāliem cipariem y var definēt funkciju CIK(x,y) ::= mazākais naturālais skaitlis kāds jāpieskaita pie x, lai iegūtu skaitli, kura decimālais pieraksts satur ciparu y. Tā, piemēram, CIK(8,3) = 5 (jo 8+5=13), bet CIK(16,1) = 1 (jo 16+1=17). Uzrakstiet programmu, kas ievadītiem x un y atrod CIK(x,y)! Ievaddatu faila cik.in pirmajā rindā dots naturāls skaitlis x un cipars y , kas atdalīti ar tukšumsimbolu. Zināms, ka 0<x<109. Izvaddatu faila cik.out vienīgajā rindā jāizvada funkcijas CIK(x,y) vērtība.
Piemērs
cik.in cik.out
93 1 7
šis uzdevums man ir jauzprogrammē..

Komentāri:

#1 dugdade @ 2008.05.05 19:30

man tas jadabu gatavu turbo pascalā..

#2 clalbus @ 2008.05.05 19:55

Ir ļoti viegli uzrakstīt "brute force" algoritmu, tas būtu apmēram tā:
Pārbaudi vai kāds no cipariem, izņemot vienus, skaitlī x ir vienāds ar y, ja jā, tad pieskait vienu un beidz programmu. Ja neviens cipars nav vienāds ar y, tad turpini pieskaitīt vienu un katru reizi pārbaudi visus ciparus ( iespējams vienus līdz 9 un tikai tad desmitus u.t.t.) līdz tu atrodi ciparu y iekš skaitļa x.

Bet mani vairāk interesē vairāk efektīvāks algoritms. Ja kāds zin, tad, cilvēki, kā jūs to dabūjat gatavu ? :)