Skip to content

Instantly share code, notes, and snippets.

@tomas-edwardsson
Created August 2, 2014 13:05
Show Gist options
  • Save tomas-edwardsson/4ddef715c3e722356900 to your computer and use it in GitHub Desktop.
Save tomas-edwardsson/4ddef715c3e722356900 to your computer and use it in GitHub Desktop.
Python prímtölur
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# forrit byrjar
# Byrjum að telja frá einum
teljari = 1
while True:
# Engar sléttar tölur yfir 2 eru prímtölur
if teljari > 2:
teljari += 2
else:
teljari += 1
# Hversu oft gengur nefnari með teljara
gengur_upp = 0
# Rúlla í gegnum 1 og upp í teljara
for nefnari in range(1, teljari):
# Ef að nefnari er meira en helmningi stærri in teljari, hættessu
if nefnari > teljari / 2:
break
# Deilum teljara með nefnara
deilt = teljari / float(nefnari)
# Ef deilingin skilar heiltölu, hækkum gengur_upp
if deilt.is_integer():
gengur_upp += 1
# Ef tala gengur upp oftar en einu sinni er óþarfi að halda áfram
if gengur_upp > 1:
break
# Ef að talan gekk bara upp einu sinni, þá erum við með prímtölu
if gengur_upp == 1:
print teljari
# vim: sts=4 expandtab autoindent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment