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