Esempio n. 1
0
def day_of_week(y, m, d):
    j = y // 100
    k = y % 100
    if m <= 2:
        m += 12
    t1 = floor(13 * (m + 1) / 5)
    t2 = floor(k / 4)
    t3 = floor(j / 4)
    z = (d + t1 + k + t2 + t3 + 5 * j) % 7
    return z
Esempio n. 2
0
def list_primes(X):
    """
    computes a list of primes up to X
    """
    list = range(2,X+1)
    for n in range(2,floor(X**0.5)+1):
        list = [m for m in list if m%n != 0 or m==n]
    return list
Esempio n. 3
0
def wyszukaj_binarnie(lista, el):
    lewy, prawy = 0, len(lista) - 1
    while lewy < prawy:
        srodek = floor((lewy + prawy) / 2)
        if el <= lista[srodek]:
            prawy = srodek
        else:
            lewy = srodek + 1
    if lista[lewy] == el:
        return lewy
Esempio n. 4
0
def list_primes1(X):
    """
    computes a list of primes up to X
    """
    result =[]
    cdef n,m = 0
    for n in range(2,X):
        for m in range(2,floor(m**0.5)+1):
            check = True
            if n%m == 0 and n != m: 
                check = False
                break
        if check:
            result.append(n)
    return result
Esempio n. 5
0
from math import sqrt

alltime = 0  #运行时间
waittime = 0  #等待时间
count = 0  #完成服务人数
allturn = 0  #完成服务次数
allnum = 0  #总负荷人数(以每一轮的电梯中最大人数为准)
notstopnum = 0  #电梯未停靠的楼层数
N = int(input('您打算模拟多少秒的运行?'))
n = 0
while n <= 1:
    n = int(input('楼层数(大于1):'))
s = int(input('是否打印详细事件?是请输入1,否则任意输入:'))
verbose = True if s == 1 else False

nfloor = floor(n)
nelevator = elevator(n)

#预置每层排队的人(由于最终一次是完整的,有可能会溢出这个时间,故事先预置(N+50)秒排队的人数)
q = min(20, round(sqrt(N / n) / 3))
for s in range(N + 50):
    for j in range(n):
        r = randint(1, q)
        if r != 1:  #每秒每层出现乘客的概率均为1/q
            continue
        p = people()
        p.come = j + 1
        p.startwait = s
        if j == 0:  #一层只有上行按钮
            p.go = randint(2, n)
            nfloor.updata[j].enqueue(p)
Esempio n. 6
0

import floor from math

def list_primes(X):
    """
    computes a list of primes up to X
    """
    list = range(2,X+1)
    for n in range(2,floor(X**0.5)+1):
        list = [m for m in list if m%n != 0 or m==n]
    return list
    
%cython
cdef extern from "math.h":
    cdef int floor(double)

def list_primes1(X):
    """
    computes a list of primes up to X
    """
    result =[]
    cdef n,m = 0
    for n in range(2,X):
        for m in range(2,floor(m**0.5)+1):
            check = True
            if n%m == 0 and n != m: 
                check = False
                break
        if check:
            result.append(n)
Esempio n. 7
0
"""
Main erstellt alle Instanzen, hier starte man auch das Game
"""
# Import der Klassen, müssen sich in gleichem Ordner befinden
from floor import *
from gui import *
"""
Alle benötigten Orte werden erstellt und verknüpft
"""
# Erstellen der Stockwerk-Klassen aus 'floor'
dach = floor("Dach", 4)
glockenstube = floor("Glockenstube", 3)
restaurant = floor("Restaurant", 2)
erdgeschoss = floor("Erdgeschoss", 1)
vorplatz = floor("Vorplatz", 0)
ende = floor("Ende")

# plan[] muss hier erstellt werden, kann jederzeit erweitert werden
plan = [ende, vorplatz, erdgeschoss, restaurant, glockenstube, dach]

# Erstellen der Position-Klasse aus 'floor'
direction = direction(plan)
"""
GUI und somit Schleife und Spiel an sich werden gestartet
"""
# Erstellen der Grafische Oberfäche-Klasse aus 'gui' mit Master: 'main'
main = tk.Tk()
window = gui(main, direction.up, direction.down)

# Instanz der Klasse direction() muss durch diese Funktion mit der Instanz der Klasse gui() upgedatet werden
direction.update(window)