Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #EXERCISE 1: system for learning English.
- from random import shuffle
- from sys import exit
- a='''
- addition=sudetis
- subtraction=atimtis
- multiplication=daugyba
- division=dalyba
- segment=atkarpa
- square=kvadratas
- integer=sveikasis skaicius
- fraction=trupmena
- inverse=atvirkscias
- equilateral=lygiakrastis
- angle=kampas
- plane=plokstuma
- rectangle=staciakampis
- vertex=virsune
- edge=briauna
- surface=pavirsius
- area=plotas
- root=saknis
- paralellogram=lygiagretainis
- multiplier=daugiklis
- '''
- a=dict([filter(lambda x:x<>' ',n).split('=') for n in a.split('\n') if '=' in n])
- def ask_me(words):
- askable=words.keys()
- shuffle(askable)
- unanswered, note={},''
- for word in askable:
- if raw_input(note+word)<>words[word]:
- unanswered.update({word:words[word]})
- note='INCORRECT!\n'+word+' = '+words[word]+'\n'
- else: note='CORRECT!'+'\n'
- raw_input(note+'press ENTER to start new round')
- return unanswered
- checklist=[ask_me(a)]
- print 'YOU ANSWERED', str(len(a)-len(checklist[-1]))+'/'+str(len(a))
- while True:
- checklist.append(ask_me(checklist[-1]))
- if len(checklist[-1])==0:
- del checklist[-1]
- break
- else: print 'YOU ANSWERED', str(len(checklist[-2])-len(checklist[-1]))+'/'+str(len(checklist[-2]))
- print 'HISTORY of unanswered words:'
- for i in range(len(checklist)):
- print 'ROUND '+str(i+1)+': '+', '.join(checklist[i].keys())
- #EXERCISE 2: tell week day of a given date.
- from datetime import date
- import calendar
- for i in range(2018,1950,-1):
- print i, [calendar.day_name[date(i, x, 1).weekday()][:2] for x in range(1,13)]
- #EXERCISE 3: square number.
- http://www.teamliquid.net/blogs/311294-how-to-be-like-arthur-benjamin
- """57683 kvadratu.
- Pradėsiu skaičiuoti nuo vidurio: 57 kart 683.
- 57 kart 68 lygu 3,400, plius 476 lygu 3876
- 38,760 plius 171 lygu 38,931
- 38,931 padvigubinus bus 77,862.
- 77,862 tampa ,,cookie fission"
- Aha, taip, toliau, ,,cookie fission"(sausainio skilimas) - ok.
- Toliau, 57 kvadratu yra 3,249.
- RAŠAU: 3 MILIJARDAI...
- pasiimu 249 ir pridedu prie ,,cookie",
- ups, bet vienas minty,
- 249 pridedu prie ,,cookie'', 250 plius 77...
- RAŠAU: 327 MILIJONAI --
- fission, fission, OK, keliu 683 kvadratu
- bus 700 kart 666, plus 17 kvadratu
- lygu 466,489, ,,rev up'' (atnaujinu), jei reikia
- rev up, imu 466,
- pridedu prie fission, ir gaunu,
- hmm... -- 328,489."""
- #EXERCISE 4: Find distributions of pythagorean squares for 100 years!
- https://victoriaandmore.wordpress.com/pythagoras-square/
- https://www.alfa.lt/astromanija/pitagoro-kvadratas/
- start = datetime.datetime.strptime("28-5-1918", "%d-%m-%Y")
- end = datetime.datetime.strptime("28-5-2018", "%d-%m-%Y")
- date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end-start).days)]
- ATS=[0 for n in range(9)] #stands for distributions of squares
- for date in date_generated:
- A=date.strftime("%d%m%Y")
- first=sum([int(n) for n in A])
- second=first%9
- if second==0: second=9
- if int(A[0])==0:
- third=first-2*int(A[1])
- else: third=first-2*int(A[0])
- fourth=third%9
- if fourth==0: fourth=9
- ans=''.join([str(n) for n in [A,first,second,third,fourth]])
- ats=[ans.count(n) for n in [str(x) for x in range(1,10)]]
- #print ans, ats #concrete square and its distribution
- for i in range(9): ATS[i]+=ats[i]
- print ATS
- #EXERCISE 5 - frequencies of letters
- 'abcdefghijklmnopqrstuvwxyz'
- [8.167,1.492,2.78,4.253,12.702,2.228,2.015,6.094,6.966,0.153,0.772,4.025,2.406,6.749,7.507,1.929,0.095,5.987,6.327,9.056,2.758,0.978,2.360,0.150,1.974,0.074]
- jts=['sz','dt','n','m','r','l','jg','k','fv','bp','h','c','w','x','q']
- for i in range(len(jts)):
- print i,'=','+'.join(jts[i]),'=','+'.join([str(freq[letters.index(n)]) for n in jts[i]]),'=',sum([freq[letters.index(n)] for n in jts[i]])
- #Exercise 6 - remember 10 Greek philosophers
- https://www.academictips.org/memory/norhyme.html
- #Exercise 7 - remember pi digits: https://major-system.info/en/?ln=5346&s=2
- #Eercise 8 - lets do the lat level of matmintinis
- from random import*
- from time import*
- while True:
- t=time()
- a,b,c,d,e=str(randint(1,9)),str(randint(1,9)),str(randint(1,9)),str(randint(1,9)),str(randint(1,9))
- inp=raw_input(a+b+' x '+c+d+e)
- if inp==str(int(a+b)*int(c+d+e)):
- print 'YOU TYPED',a+b+' x '+c+d+e,'=',inp
- print 'CORRECT in',time()-t
- else:
- print 'YOU TYPED',a+b+' x '+c+d+e,'=',inp
- print 'WRONG:',a+b+' x '+c+d+e+' = '+str(int(a+b)*int(c+d+e))
- Skelbiu abu sprendimus.
- [quote]Raskite visas galimas skaitmenų sumas tokio natūraliojo skaičiaus, kuris dalijasi iš 7.[/quote]
- Norint spręsti tokį uždavinį reikia suvokti, jog turėdami du besidalijančius iš 7 skaičius mes juos galime ,,sulipinti" ir vis tiek turėsime iš 7 besidalijantį skaičių. Matematikos mėgėjai turėtų būt girdėję apie skaičiaus $1001$ sandarą: jis yra lygus sandaugai $7\cdot 11\cdot 13$. Lygiai taip pat gana ,,taupus" skaičius vertinant pagal skaitmenų sumos dydį yra skaičius $21$. Taigi turime, kad skaičiai $1001$ ir $21$ dalijasi iš $7$, o jų skaitmenų sumos lygios $2$ ir $3$. Likusias didesnes skaitmenų sumas galime gauti prie vieno iš šių skaičių prilipindami po kažkiek skaičių $1001$.
- Skaitmenų sumos, lygios 1, gauti negalime, nes tada skaičius turėtų būti formos $10\dots 0$, o tokių skaičių išskaidyme pirminiais daugikliais yra tik dvejetų pei penketų laipsniai.
- Vadinasi, uždavinio atsakymas - visi natūralieji skaičiai, didesni už 1.
- [b]
- Besidomintiems[/b], kaip čia atsirado skaičius $1001$ ir kaip jį pastebėti neturint pakankamo jautrumo skaičiams, galiu paminėti, kad ne tik septynetui, bet dažniausia ir didesniam už jį (bet tikrai ne bet kuriam) pirminiui skaičiui sąraše $11, 101, 1001, \dots, 10\dots 01, \dots$ atsiranda iš jo besidalijantis narys. Nustatyti, kuriems atsiranda, o kuriems ne - jau kito masto, daug rimtesnis uždavinys.
- Grįžtam į universitetą:
- [quote]Ar konverguoja eilutė $\displaystyle \sum_{n=1}^\infty n \sin\frac{1}{n^{4/3}}$?[/quote]
- Čia būtina prisiminti, jog $\frac{\sin x}{x}\to 1$, kai $x\to 0$. Prasminga ne tik prisiminti šią kaip vieną pagrindinių ribų skaičiavimo taisyklių, bet ir žinoti, kodėl ji galioja. Pateiktame brėžinyje matyti, kad jei vienetiniame skritulyje parodytas kampas lygus $x$, tai $\sin x$ atitiks žalios atkarpos ilgį, o $x$ atitiks mėlynos atkarpos ilgį. Jei kampą mažiname, atkarpos ilgis darosi vis artimesnis lanko ilgiui. [img]https://i.imgur.com/TDQnCKd.png[/img]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement