Created
August 2, 2014 13:05
-
-
Save tomas-edwardsson/4ddef715c3e722356900 to your computer and use it in GitHub Desktop.
Python prímtölur
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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