Current work thus far
Changes to be committed: new file: 079PassDerive.py new file: 085CountTriangle.py new file: 101TriangleContain.py new file: 102_triangles.py new file: 112_bouncy.py new file: 187_semiprime/187_semiprime new file: 187_semiprime/primes.txt new file: 187_semiprime/semiprime.go new file: 493Rainbow.py new file: codedTriangle.py new file: coinSum.py new file: eulerCoinSum.py new file: fiboChecker.py new file: oddEven.py new file: p042_words.txt new file: powerfulDigit.py new file: selfPower.py new file: sunday.py new file: symbolCheck.py
This commit is contained in:
42
079PassDerive.py
Executable file
42
079PassDerive.py
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
def checkPass(longPass, combi):
|
||||||
|
passStr=str(longPass)
|
||||||
|
countPass=0
|
||||||
|
for i in range(len(passStr)):
|
||||||
|
if countPass!=3 and passStr[i]==combi[countPass]:
|
||||||
|
countPass+=1
|
||||||
|
|
||||||
|
if countPass==3:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def checkAll(longPass, combiList):
|
||||||
|
failure=False
|
||||||
|
for i in range(len(combiList)):
|
||||||
|
tempAns=checkPass(longPass, combiList[i])
|
||||||
|
if not(tempAns):
|
||||||
|
failure=True
|
||||||
|
break
|
||||||
|
|
||||||
|
return not(failure)
|
||||||
|
|
||||||
|
currentIn=" "
|
||||||
|
combiList=[]
|
||||||
|
while currentIn!="":
|
||||||
|
currentIn=input()
|
||||||
|
if currentIn!="":
|
||||||
|
combiList.append(currentIn)
|
||||||
|
|
||||||
|
longPass=100
|
||||||
|
while (1):
|
||||||
|
|
||||||
|
if longPass%1000==0:
|
||||||
|
print(longPass)
|
||||||
|
|
||||||
|
if checkAll(longPass, combiList):
|
||||||
|
print("Answer: "+str(longPass))
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
longPass+=1
|
||||||
|
|
||||||
31
085CountTriangle.py
Executable file
31
085CountTriangle.py
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
def gridToTriangle(x,y):
|
||||||
|
sumOfTriangle=0
|
||||||
|
for i in range(x):
|
||||||
|
for o in range(y):
|
||||||
|
sumOfTriangle+=(x-i)*(y-o)
|
||||||
|
|
||||||
|
return(sumOfTriangle)
|
||||||
|
|
||||||
|
solved=False
|
||||||
|
sizeOfTriangle=1
|
||||||
|
closestGuy=[0,0]
|
||||||
|
difference=99999999
|
||||||
|
answer=0
|
||||||
|
|
||||||
|
while not(solved):
|
||||||
|
sizeOfTriangle+=1
|
||||||
|
for i in range(sizeOfTriangle):
|
||||||
|
tempAns=gridToTriangle(i+1,sizeOfTriangle)
|
||||||
|
tempDiff=abs(2000000-tempAns)
|
||||||
|
if tempDiff<difference:
|
||||||
|
closestGuy=[i+1,sizeOfTriangle]
|
||||||
|
difference=tempDiff
|
||||||
|
answer=tempAns
|
||||||
|
if tempDiff>200000000:
|
||||||
|
solved=True
|
||||||
|
|
||||||
|
if sizeOfTriangle%100==0:
|
||||||
|
print(sizeOfTriangle)
|
||||||
|
|
||||||
|
print(closestGuy)
|
||||||
|
print(answer)
|
||||||
54
101TriangleContain.py
Executable file
54
101TriangleContain.py
Executable file
@@ -0,0 +1,54 @@
|
|||||||
|
#! /usr/bin/python3
|
||||||
|
|
||||||
|
def findGrad(x1, y1, x2, y2):
|
||||||
|
top=y2-y1
|
||||||
|
bot=x2-x1
|
||||||
|
|
||||||
|
if bot==0:
|
||||||
|
return 0, 1
|
||||||
|
else:
|
||||||
|
return top/bot, 0
|
||||||
|
|
||||||
|
def findRes(x1, y1, x2, y2):
|
||||||
|
grad=findGrad(x1,y1,x2,y2)
|
||||||
|
if grad[1]==1:
|
||||||
|
return x1
|
||||||
|
else:
|
||||||
|
return y1-grad[0]*x1
|
||||||
|
|
||||||
|
|
||||||
|
totalCount=0
|
||||||
|
|
||||||
|
testFile=open("p102_triangles.txt")
|
||||||
|
|
||||||
|
for iLine in testFile:
|
||||||
|
|
||||||
|
coordS=[]
|
||||||
|
coordS=iLine.split(",")
|
||||||
|
coord=[int(coordS[0]),int(coordS[1]),int(coordS[2]),int(coordS[3]),int(coordS[4]),int(coordS[5])]
|
||||||
|
|
||||||
|
countSuc=[0,0,0]
|
||||||
|
for i in range(3):
|
||||||
|
for o in range(3):
|
||||||
|
if o!=i:
|
||||||
|
last=3-i-o
|
||||||
|
grad, check=findGrad(coord[i*2], coord[i*2+1], coord[o*2], coord[o*2+1])
|
||||||
|
intercept=findRes(coord[i*2], coord[i*2+1], coord[o*2], coord[o*2+1])
|
||||||
|
|
||||||
|
if check==1:
|
||||||
|
if 0-intercept>0 and coord[last*2]-intercept>0:
|
||||||
|
countSuc[i]+=1
|
||||||
|
elif 0-intercept<0 and coord[last*2]-intercept<0:
|
||||||
|
countSuc[i]+=1
|
||||||
|
else:
|
||||||
|
pseu=coord[last*2+1]-grad*coord[last*2]
|
||||||
|
if 0-intercept>0 and pseu-intercept>0:
|
||||||
|
countSuc[i]+=1
|
||||||
|
elif 0-intercept<0 and pseu-intercept<0:
|
||||||
|
countSuc[i]+=1
|
||||||
|
print(coord)
|
||||||
|
print(countSuc)
|
||||||
|
if countSuc[0]==2 and countSuc[1]==2 and countSuc[2]==2:
|
||||||
|
totalCount+=1
|
||||||
|
|
||||||
|
print(totalCount)
|
||||||
1000
102_triangles.py
Executable file
1000
102_triangles.py
Executable file
File diff suppressed because it is too large
Load Diff
5
112_bouncy.py
Executable file
5
112_bouncy.py
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
import math
|
||||||
|
|
||||||
|
def checkBouncy(a):
|
||||||
|
length=math.log(a,10)
|
||||||
|
|
||||||
BIN
187_semiprime/187_semiprime
Executable file
BIN
187_semiprime/187_semiprime
Executable file
Binary file not shown.
40
187_semiprime/primes.txt
Normal file
40
187_semiprime/primes.txt
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
104777
|
||||||
|
224777
|
||||||
|
350430
|
||||||
|
479958
|
||||||
|
611986
|
||||||
|
746796
|
||||||
|
882407
|
||||||
|
1020421
|
||||||
|
1159557
|
||||||
|
1299762
|
||||||
|
1441080
|
||||||
|
1583615
|
||||||
|
1726977
|
||||||
|
1870727
|
||||||
|
2015226
|
||||||
|
2160606
|
||||||
|
2307264
|
||||||
|
2454646
|
||||||
|
2601918
|
||||||
|
2750198
|
||||||
|
2898575
|
||||||
|
3047798
|
||||||
|
3196971
|
||||||
|
3346657
|
||||||
|
3497892
|
||||||
|
3648972
|
||||||
|
3800242
|
||||||
|
3951203
|
||||||
|
4103663
|
||||||
|
4256273
|
||||||
|
4410366
|
||||||
|
4562748
|
||||||
|
4716106
|
||||||
|
4869917
|
||||||
|
5023360
|
||||||
|
5178092
|
||||||
|
5332561
|
||||||
|
5487779
|
||||||
|
5644074
|
||||||
|
5800173
|
||||||
56
187_semiprime/semiprime.go
Normal file
56
187_semiprime/semiprime.go
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
THREADCOUNT := 20
|
||||||
|
primeList:=make([]int,0,4000)
|
||||||
|
sentCount:=0
|
||||||
|
recvCount:=0
|
||||||
|
chani := make(chan int)
|
||||||
|
var tempi int
|
||||||
|
|
||||||
|
for i:=2; i<50000000; i++ {
|
||||||
|
if sentCount - recvCount < THREADCOUNT {
|
||||||
|
sentCount+=1
|
||||||
|
go checkPrime(i, chani)
|
||||||
|
} else {
|
||||||
|
emptyChannel := false
|
||||||
|
for emptyChannel!= true {
|
||||||
|
select {
|
||||||
|
case tempi = <-chani:
|
||||||
|
recvCount+=1
|
||||||
|
if tempi!=0 {
|
||||||
|
primeList=append(primeList, tempi)
|
||||||
|
if len(primeList) % 10000 ==0 {
|
||||||
|
fmt.Println(i)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
emptyChannel = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
i-= 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println(primeList)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func checkPrime(i int, chani chan int) bool {
|
||||||
|
checkCount := 0
|
||||||
|
|
||||||
|
for c:=2; c<i/2; c++ {
|
||||||
|
if i%c == 0 {
|
||||||
|
checkCount+=1
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if checkCount==0 {
|
||||||
|
chani <- i
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
chani <- 0
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
30
493Rainbow.py
Executable file
30
493Rainbow.py
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#! /usr/bin/python3
|
||||||
|
from decimal import *
|
||||||
|
import random
|
||||||
|
|
||||||
|
total=[]
|
||||||
|
|
||||||
|
for i in range(1000):
|
||||||
|
print(i)
|
||||||
|
for o in range(10):
|
||||||
|
balls=[]
|
||||||
|
bag=[]
|
||||||
|
for color in range(70):
|
||||||
|
balls.append(int(random.uniform(0,7)))
|
||||||
|
for choice in range(10):
|
||||||
|
choose=int(random.uniform(0,70))
|
||||||
|
while balls[choose]==-1:
|
||||||
|
choose=int(random.uniform(0,70))
|
||||||
|
|
||||||
|
bag.append(balls[choose])
|
||||||
|
balls[choose]=-1
|
||||||
|
|
||||||
|
allCount=len(set(balls))
|
||||||
|
total.append(allCount)
|
||||||
|
|
||||||
|
a=Decimal(sum(total))
|
||||||
|
b=Decimal(len(total))
|
||||||
|
c=Decimal(a/b)
|
||||||
|
print(getcontext())
|
||||||
|
print(c)
|
||||||
|
print(total)
|
||||||
27
codedTriangle.py
Executable file
27
codedTriangle.py
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
triSet=set()
|
||||||
|
|
||||||
|
for i in range(1,601):
|
||||||
|
triSet.add(i*(i+1)*0.5)
|
||||||
|
|
||||||
|
fobj=open("p042_words.txt")
|
||||||
|
for line in fobj:
|
||||||
|
names=line
|
||||||
|
|
||||||
|
fobj.close()
|
||||||
|
|
||||||
|
print(names)
|
||||||
|
|
||||||
|
answer=0
|
||||||
|
|
||||||
|
workingcount=0
|
||||||
|
|
||||||
|
for i in range(0,len(names)):
|
||||||
|
if names[i]=="\"" or names[i]==",":
|
||||||
|
if workingcount!=0:
|
||||||
|
if workingcount in triSet:
|
||||||
|
answer=answer+1
|
||||||
|
workingcount=0
|
||||||
|
else:
|
||||||
|
workingcount=workingcount+ord(names[i])-64
|
||||||
|
|
||||||
|
print(answer)
|
||||||
33
coinSum.py
Executable file
33
coinSum.py
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
maxjump=[1,9,9,90,90,80,200,200]
|
||||||
|
value=[200,100,50,20,10,5,2,1]
|
||||||
|
|
||||||
|
working=[0,0,0,0,0,0,0,0]
|
||||||
|
|
||||||
|
ans=0
|
||||||
|
|
||||||
|
while working[0]<maxjump[0]:
|
||||||
|
working[7]=working[7]+1
|
||||||
|
|
||||||
|
#check if exceed maxjump
|
||||||
|
for i in range(7,0,-1):
|
||||||
|
if working[i] > maxjump[i]:
|
||||||
|
working[i-1]=working[i-1]+1
|
||||||
|
working[i]=0
|
||||||
|
|
||||||
|
#start check if adds to two
|
||||||
|
check=0
|
||||||
|
for i in range(0,8):
|
||||||
|
check=check+working[i]*value[i]
|
||||||
|
|
||||||
|
if check==200:
|
||||||
|
print(working)
|
||||||
|
ans=ans+1
|
||||||
|
elif check>200:
|
||||||
|
for i in range(7,0,-1):
|
||||||
|
if working[i]!=0:
|
||||||
|
working[i]=0
|
||||||
|
working[i-1]=working[i-1]+1
|
||||||
|
working[7]=-1
|
||||||
|
break
|
||||||
|
|
||||||
|
print("Total Count:",ans+1)
|
||||||
33
eulerCoinSum.py
Executable file
33
eulerCoinSum.py
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
maxjump=[1,9,9,90,90,80,200,200]
|
||||||
|
value=[200,100,50,20,10,5,2,1]
|
||||||
|
|
||||||
|
working=[0,0,0,0,0,0,0,0]
|
||||||
|
|
||||||
|
ans=0
|
||||||
|
|
||||||
|
while working[0]<maxjump[0]:
|
||||||
|
working[7]=working[7]+1
|
||||||
|
|
||||||
|
#check if exceed maxjump
|
||||||
|
for i in range(7,0,-1):
|
||||||
|
if working[i] > maxjump[i]:
|
||||||
|
working[i-1]=working[i-1]+1
|
||||||
|
working[i]=0
|
||||||
|
|
||||||
|
#start check if adds to two
|
||||||
|
check=0
|
||||||
|
for i in range(0,8):
|
||||||
|
check=check+working[i]*value[i]
|
||||||
|
|
||||||
|
if check==200:
|
||||||
|
print(working)
|
||||||
|
ans=ans+1
|
||||||
|
elif check>200:
|
||||||
|
for i in range(7,0,-1):
|
||||||
|
if working[i]!=0:
|
||||||
|
working[i]=0
|
||||||
|
working[i-1]=working[i-1]+1
|
||||||
|
working[7]=-1
|
||||||
|
break
|
||||||
|
|
||||||
|
print("Total Count:",ans+1)
|
||||||
24
fiboChecker.py
Executable file
24
fiboChecker.py
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
def FibonacciChecker(num2):
|
||||||
|
num=int(num2)
|
||||||
|
working=1
|
||||||
|
|
||||||
|
if num==1:
|
||||||
|
return "yes"
|
||||||
|
|
||||||
|
full=[1,1]
|
||||||
|
|
||||||
|
while full[working]<num:
|
||||||
|
full+=[full[working]+full[working-1]]
|
||||||
|
if full[working+1]>num:
|
||||||
|
return "no"
|
||||||
|
working+=1
|
||||||
|
|
||||||
|
if full[working]==num:
|
||||||
|
return "yes"
|
||||||
|
return "no"
|
||||||
|
|
||||||
|
|
||||||
|
# keep this function call here
|
||||||
|
# to see how to enter arguments in Python scroll down
|
||||||
|
print FibonacciChecker(raw_input())
|
||||||
|
|
||||||
11
oddEven.py
Executable file
11
oddEven.py
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
oddEven=50
|
||||||
|
|
||||||
|
if oddEven%2==1:
|
||||||
|
print(str(oddEven)+" is odd!")
|
||||||
|
elif oddEven%2==0:
|
||||||
|
print(str(oddEven)+" is even!")
|
||||||
|
else:
|
||||||
|
print("This shouldn't run!")
|
||||||
|
|
||||||
1
p042_words.txt
Executable file
1
p042_words.txt
Executable file
File diff suppressed because one or more lines are too long
13
powerfulDigit.py
Executable file
13
powerfulDigit.py
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
import math
|
||||||
|
|
||||||
|
answer=0
|
||||||
|
seto=set()
|
||||||
|
for i in range(2,10):
|
||||||
|
work=1
|
||||||
|
while work<=199:
|
||||||
|
if math.log(math.pow(i,work),10)//1==work-1:
|
||||||
|
seto.add(math.pow(i,work))
|
||||||
|
print(math.pow(i,work))
|
||||||
|
work+=1
|
||||||
|
|
||||||
|
print("Answer:",len(seto))
|
||||||
8
selfPower.py
Executable file
8
selfPower.py
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
import math
|
||||||
|
|
||||||
|
ans=0
|
||||||
|
for i in range(1,1001):
|
||||||
|
ans=ans+pow(i,i)
|
||||||
|
|
||||||
|
magic=str(ans)
|
||||||
|
print(magic[-10:len(magic)])
|
||||||
19
sunday.py
Executable file
19
sunday.py
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
import datetime
|
||||||
|
import calendar
|
||||||
|
|
||||||
|
ans = 0
|
||||||
|
|
||||||
|
for year in range(1901, 2001):
|
||||||
|
for month in range(1,13):
|
||||||
|
monthmax=calendar.monthrange(year,month)
|
||||||
|
monthmax=monthmax[1]
|
||||||
|
working=datetime.date(year,month,1)
|
||||||
|
if working.month!=month:
|
||||||
|
break
|
||||||
|
|
||||||
|
if working.weekday() == 6:
|
||||||
|
print ("Date" , working, ans)
|
||||||
|
ans=ans+1
|
||||||
|
|
||||||
|
print ("Answer:"+str(ans))
|
||||||
|
|
||||||
20
symbolCheck.py
Executable file
20
symbolCheck.py
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
def SimpleSymbols(ytr):
|
||||||
|
|
||||||
|
magic=ytr
|
||||||
|
|
||||||
|
if (ord(magic[len(magic)-1]) in range(97,123)) or (ord(magic[len(magic)-1]) in range(65,91)):
|
||||||
|
return "false"
|
||||||
|
|
||||||
|
for i in range(0,len(magic)):
|
||||||
|
if(ord(magic[i]) in range(97,123)) or (ord(magic[i]) in range(65,91)):
|
||||||
|
if i==0:
|
||||||
|
return str(i)+"false"
|
||||||
|
if ((magic[i-1])!='+') or ((magic[i+1])!='+'):
|
||||||
|
return "false"
|
||||||
|
|
||||||
|
return "true"
|
||||||
|
# keep this function call here
|
||||||
|
# to see how to enter arguments in Python scroll down
|
||||||
|
print(SimpleSymbols(raw_input()))
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user