Python programozás

Algoritmusok

A kissé nehezebb feladatok algoritmusai

O5
	Függvény osztoOsszeg(n) # visszadott értéke az n-nél kisebb osztók összege
		sum = 0 # osztók összege
		Ciklus i=1-től n-1-ig 1-esével # n nem lesz az osztók közt!
			Ha i osztója n-nek
				sum = sum + i
			Ha vége
		Ciklus vége
		Vissza sum # visszaadott érték
	Függvény vége

	Ki: "Meddig: ? "
	Be: fh # poz. természetes szám

	Ha fh <= 0
		Ki: "Ez nem pozitív természetes szám!")
	egyébként
		Ciklus a=1-től fh-ig
			asum = osztoOsszeg(a)
			b = asum
			bsum = osztoOsszeg(b)
			Ha bsum = a
				Ki: "barátságos számpár: ", a, b
			Ha vége
		Ciklus vége
	Ha vége

E5
	# közös koordinátarendszerben ábrázoljuk az oldalakat
	# ennek alapján -2 és 5 közt keressük a két gyököt
	# -2 -nél a baloldal-jobboldal (b_o_) még pozitív

	Ki: "gyök(x+4) - 3 = -(x-2)^2 + 5 egyenlet megoldása"
	i = 0 # a gyökök indexe
	b_o_ = 1.0 # előző differencia még pozitív, legyen pl. +1
	Ciklus d = -200-tól 500-ig 1-esével
		x = d/100 # századonként megyünk
		bo = gyök(x+4) - 3 # baloldal
		jo = -(x-2)^2 + 5 # jobboldal
		b_o = bo-jo # aktuális differencia
		Ha b_o*b_o_ < 0 # előjelváltás, itt lesz gyök ( -0,47 és +4,27 )
			b_o_ = b_o # az újat átadjuk az előzőnek
			i növelése 1-el
			Ki: i, ". megoldás: ", x
		Ha vége
	Ciklus vége

P5

	Függvény primE(n) # függvény, visszadott értéke igaz, ha "n" prím
		odb = 0 # osztók darabszáma
		Ciklus i=1-től n-ig egyesével
			Ha i osztója n-nek
				odb növelése
			Ha vége
		Ciklus vége
		Vissza odb=2 # ha 2 osztó van csak, akkor prím
	Függvény vége

	Ki "Hányat: ? "
	Be: pdb
	Ha pdb <= 0
		Ki: "Ez nem pozitív természetes szám!"
	egyébként
		db = 0
		n = 1
		Ciklus amíg db < pdb
			n növelése
			Ha primE(n)
				db növelése
				Ki: n,", "
			Ha vége
		Ciklus vége
	Ha vége