Võtame veel ühe ülesande informaatikaolümpiaadi ülesannete hulgast:
Antud N +1-elemendiline jada, milles arvudest 1…N üks esineb kaks korda ja ülejäänud igaüks ühe korra. Kirjutada programm, mis leiab korduva väärtuse.
Sisend. Tekstifaili KORD.SIS esimesel real on jada elementide arv N (1 =< N =< 30 000) ja teisel real N + 1 tühikutega eraldatud täisarvu — jada elemendid.
Väljund. Tekstifaili KORD.VAL ainsale reale väljastada üks täisarv — jadas kaks korda esinev
väärtus.
Näidisfailid KORD.SIS
4
1 2 4 2 3
KORD.VAL
2
Lahendus:
#!/usr/bin/python
# -*- coding: utf-8 -*-
fail=open(“KORD.SIS”, “r”)
numbrid = []
number=int(fail.readline()) #lugema veel numbri
numbrid=(fail.readline()).split() #lugema veel numbri
mitukorda=”mida”
i = 0
for n in numbrid :
ki = 0
for kontroll in numbrid :
if (i != ki) :
if (n == kontroll) :
mitukorda=n
ki=ki+1
i=i+1
if (mitukorda != “mida”) :
print “Mitu korda esineb number”, mitukorda
Veel üks ülesanne:
1. JADA
Antud täisarvude jada. Sorteerida selle elemendid kasvavalt.
Sisend. Tekstifaili JADA.SIS esimesel real on täisarv N (1≤N≤100) ja järgmisel real N üksteisest
tühikutega eraldatud paarikaupa erinevat täisarvu Ai (0≤Ai≤1000).
Väljund. Tekstifaili JADA.VAL ainsale reale väljastada arvud Ai kasvavalt järjestatuna ja
üksteisest tühikutega eraldatult.
Näide. JADA.SIS
4
6 3 1 7
JADA.VAL
1 3 6 7
Märkus. Programmeerimissüsteemi sisseehitatud sorteerimisprotseduuri käesoleva ülesande
lahenduses kasutada ei tohi