Skip to content

Instantly share code, notes, and snippets.

View orjanv's full-sized avatar

Ørjan Hoyd H. Vøllestad orjanv

View GitHub Profile
@orjanv
orjanv / zenckendorf.py
Created May 27, 2024 19:24
Find the fibonacci numbers that summed give the input number
# Find the fibonacci numbers that summed give the input number
max_fibonacci_numbers = 1000
def get_fibonacci_sequence(number):
f_list = []
for num in range(0, number + 1):
if num < 2:
f_list.append(num)
else:
@orjanv
orjanv / norske_palindromer.py
Created May 12, 2024 11:10
Finn norske palindromord basert på NSF-ordlista
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Norske palindromord basert på NSF-ordlista
def palindrom_sjekk(ordet):
return ordet == ordet[::-1]
palindromer = []
lengde = 7
@orjanv
orjanv / fibonacci.py
Last active May 21, 2024 19:45
Finn tallene i fibonacci-rekken
TALL = 15
fibonacci = []
for i in range(0, TALL + 1):
if i < 2:
fibonacci.append(i)
else:
fibonacci.append(fibonacci[i - 1] + fibonacci[i - 2])
print(f'Fibonaccitallene: {fibonacci}')
@orjanv
orjanv / merkelige_tall.py
Created May 5, 2024 07:03
Finn merkelige tall, altså overskuddstall hvor ingen kombinasjonssummer av divisorer ikke fører til det opprinnelige tallet.
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Finn merkelige tall, definert som følger:
# 1. Summen av alle faktorene (unntatt tallet selv) er større enn selve tallet.
# 2. Du kan ikke plukke ut noen av de mindre faktorene til tallet og legge dem
# sammen for å få det samme tallet tilbake.
#
# Det finnes syv tall under 10000: [70, 836, 4030, 5830, 7192, 7912, 9272]
@orjanv
orjanv / palindromnavn.py
Created April 6, 2024 09:33
Et lite Python program som tar for seg ett og ett navn fra SSB, og sjekker om det gir et palindrom etter omgjøring fra a=1, b=2, c=3, osv.
alfabet = "abcdefghijklmnopqrstuvxyzæøå"
filnavn = "2023-jentenavn.txt"
def is_palindrome(num):
"""Return True if num is a palindrome."""
return str(num) == str(num)[::-1]
def is_prime(num):
"""Return True if num is prime."""
if int(num) < 2:
@orjanv
orjanv / bokstaver_til_tall.py
Last active April 3, 2024 19:46
Et lite python program for å gjøre om ord eller setninger til tall, basert på alfabetiske posisjoner for hver bokstav.
import sys
alfabet = "abcdefghijklmnopqrstuvxyzæøå"
tallrekke = []
try:
setning = sys.argv[1]
except:
setning = input("Skriv noe du vil konvertere til alfabetisk posisjon: ")
setning = setning.lower()
@orjanv
orjanv / find_perfect_numbers_multicpu.py
Created April 1, 2024 18:57
Find perfect numbers using multiprocessing
import multiprocessing
def get_divisors_sum(n):
divisors_sum = 0
for i in range(1, int(n / 2) + 1):
if n % i == 0:
divisors_sum += i
return divisors_sum
def parallel_perfect_numbers(numbers):
@orjanv
orjanv / firkantby.py
Last active February 8, 2024 20:58
Tegne en by med firkanter
# Geometri, hva kan gjøres med bare firkanter? La oss bygge en by
from turtle import *
from random import *
# Litt oppsett av vindu, farger og størrelser
skjerm_bredde = 1700
skjerm_hoyde = 1000
setup(skjerm_bredde, skjerm_hoyde)
tracer(2) # sett til 0 for å tegne umiddelbart, da betyr speed() ingenting
@orjanv
orjanv / easy_123.py
Created January 23, 2024 20:09
Start med et hvilket som helst tall og end opp med 123 ved å kombinere antall partall, antall oddetall og totalt antall siffer.
from time import sleep
def finn_tall(n):
partall = []
oddetall = []
for siffer in n:
if int(siffer) % 2 == 0:
partall.append(int(siffer))
else:
@orjanv
orjanv / kaprekars_rutine.py
Last active January 18, 2024 18:34
Prøv ut Kaprekars rutine
from time import sleep
print("Vi prøver Kaprekar's rutine på vei mot konstanten 6174 og 495\n")
mitt_tall = input("Velg et tre eller firesifret tall, med minst to ulike siffer: ")
desc_a = "".join(sorted(mitt_tall, reverse=True))
asc_a = "".join(sorted(mitt_tall))
steg = 0
siffer = len(mitt_tall)
print(f"\nVi finner størst {desc_a} og minst tall {asc_a} fra sifrene og begynner rutinen...\n")