Skip to content

Instantly share code, notes, and snippets.

@zoranzaric
Created June 21, 2010 17:26
Show Gist options
  • Save zoranzaric/447173 to your computer and use it in GitHub Desktop.
Save zoranzaric/447173 to your computer and use it in GitHub Desktop.
-module(raetsel).
-export([zahl_an_stelle/1]).
zahl_an_stelle(STELLE) ->
zahl_an_stelle(STELLE, 1,0).
zahl_an_stelle(STELLE, ZAEHLER, SUMME) ->
if
SUMME >= STELLE
-> ZAEHLER-1;
true
-> zahl_an_stelle(STELLE, ZAEHLER+1, SUMME+ZAEHLER)
end.
class Raetsel():
def zahlAnStelle(self, stelle):
"""122333444455555666666..."""
summe = 0
zaehler = 0
while (summe < stelle):
zaehler += 1
summe += zaehler
return zaehler
if __name__ == '__main__':
r = Raetsel()
print "Zahl an Stelle 1.000.000: ",
print r.zahlAnStelle(1000000)
from raetsel import Raetsel
import unittest
class RaetselTests(unittest.TestCase):
def setUp(self):
self.r = Raetsel()
def test_01_ersteStelle(self):
self.assertEqual(self.r.zahlAnStelle(1), 1)
def test_02_zweiteStelle(self):
self.assertEqual(self.r.zahlAnStelle(2), 2)
def test_03_dritteStelle(self):
self.assertEqual(self.r.zahlAnStelle(3), 2)
def test_04_vierteStelle(self):
self.assertEqual(self.r.zahlAnStelle(4), 3)
def test_05_fuenfteStelle(self):
self.assertEqual(self.r.zahlAnStelle(5), 3)
def test_06_sechsteStelle(self):
self.assertEqual(self.r.zahlAnStelle(6), 3)
def test_07_siebteStelle(self):
self.assertEqual(self.r.zahlAnStelle(7), 4)
def test_08_einundzwanzigsteStelle(self):
self.assertEqual(self.r.zahlAnStelle(21), 6)
if __name__ == '__main__':
unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment