i i “974-Lokar-koliko” — 2010/6/16 — 10:41 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 17 (1989/1990) Številka 2 Strani 83–84 Matija Lokar: KOLIKO CIFER? Ključne besede: naloge, razvedrilo. Elektronska verzija: http://www.presek.si/17/974-Lokar.pdf c© 1989 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. \ LI l-'l.L I ' __'j~JL KOLIKO CIFER? V eni od prejšnjih številk Preseka je Sandija Klavžarja zanimalo, kam 'konvergirajo' števila, ki jih zapi šemo z besedami. Pa si še enkrat zastavimo podobno vprašanje. Vzemimo poljubno število in preštejmo, koliko posameznih cifer je v njem . Npr. v 1223 je ena enka, dve dvojki in ena trojka. Zapišimo to kot 112213. S tem smo dobili novo število, s katerim ponovimo postopek. Tokrat imamo tri enke, dve dvojki in eno trojko, torej 312213. Poglejmo še naprej: ~ program cifre ; var ste : string[50] ; 1223 31121314 cif : char; 1 1 odg : char; i : integer ; c : ar ray ['1' ..'9'] of char; 112213 41122314 begin 1 1 writ e(' Stevilo : '); readln(ste); repeat readln ; { pocakaj pr itisk na ENTER} 312213 31221324 writeln(ste); 1 1 for cif := '1' to '9' do c[cif] := 'O'; { ste vci cifer } for i := 1 to length (ste) do 212223 21322314 c[ste [i]] := succ(c[ste [i]]); 1 1 ste := '' : {zgradimo novo ste vilo } for cif := '1' to '9' do if c[ci~ <> 'O' th en 114213 21322314 ste := st e + c[cif] + cif; write(,D alje (d/n) ') ;readln(odg) un til odg = 'n' end. Opazimo, da se število 21322314 ponavlja sedaj v nedogled. Postopek je torej skonvergiral. Velja to v splošnem? Peš računanje je dolgočasno, zato si pomagajmo s kratkim programom v Pascalu. Dogovoriti se moramo le za predstavitev števil. Ker potrebujemo le posamezne cifre , jih predstavimo kot niz cifer. Za zgornji program zato uporabimo Turbo Pascal, ki ima vgrajen podatkovni tip STRING in zna delati z nizi.