Skip to content

Commit 80e421d

Browse files
authored
Merge pull request larissalages#234 from ashutosh321607/master
Added Codechef and project Euler problem
2 parents 1c2bd58 + 24b2ecd commit 80e421d

File tree

7 files changed

+263
-0
lines changed

7 files changed

+263
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
t = int(input())
2+
year = [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0]
3+
4+
for _ in range(t):
5+
m1,y1 = map(int,input().split())
6+
m2,y2 = map(int,input().split())
7+
if(m1<=2):
8+
y1-=1
9+
if(m2<2):
10+
y2-=1
11+
value1 = (y1//400)*101 + sum(year[:y1%400])
12+
value2 = (y2//400)*101 + sum(year[:y2%400])
13+
print(value2 - value1)

CodeChef_problems/expected_change.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
def fun(s):
2+
ans = 0
3+
o = 0
4+
c = 0
5+
for i in s:
6+
if(i=="("):
7+
o+=1
8+
elif(i==")"):
9+
c+=1
10+
if(c>o):
11+
c-=1
12+
o+=1
13+
ans+=1
14+
return ans
15+
16+
t = int(input())
17+
18+
for _ in range(t):
19+
n = int(input())
20+
s = input()
21+
ans = 0
22+
N = 10**9+7
23+
value = ((n+1)*n)//2
24+
value = pow(value,N-2,N)
25+
print(value)
26+
for i in range(n):
27+
ans+=fun(s[i:])
28+
print((ans*value)%N)
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# def fun(mymatrix,col,row,xvalue):
2+
# ans = 0
3+
# maximum = 0
4+
# #itration 1
5+
# for i in range(4):
6+
# if(row[i]==1):
7+
# for j in range(4):
8+
# if(col[j]==1):
9+
# if(mymatrix[i][j]>maximum):
10+
# maximum = mymatrix[i][j]
11+
# if(maximum==0):
12+
# ans-=(5-xvalue)*100
13+
# return ans
14+
# ans+=maximum*(5*xvalue)*25
15+
# value = []
16+
# for i in range(4):
17+
# flag = 0
18+
# if(row[i]==1):
19+
# for j in range(4):
20+
# if(col[j]==1):
21+
# if(mymatrix[i][j]==maximum):
22+
# col[j] = 0
23+
# row[i] = 0
24+
# value.append(fun(mymatrix,col,row,xvalue+1))
25+
# col[j] = 1
26+
# row[i] = 1
27+
28+
# return ans + max(value)
29+
30+
t = int(input())
31+
myans = 0
32+
for _ in range(t):
33+
n = int(input())
34+
# col = [1 for i in range(4)]
35+
# row = [1 for i in range(4)]
36+
mymatrix = [[0 for i in range(4)] for i in range(4)]
37+
for i in range(n):
38+
[a,b] = input().split()
39+
if(a=='A'):
40+
mymatrix[0][(int(b)//3)%4]+=1
41+
elif(a=='B'):
42+
mymatrix[1][(int(b)//3)%4]+=1
43+
elif(a=='C'):
44+
mymatrix[2][(int(b)//3)%4]+=1
45+
else:
46+
mymatrix[3][(int(b)//3)%4]+=1
47+
value = []
48+
for a in range(4):
49+
for b in range(4):
50+
for c in range(4):
51+
for d in range(4):
52+
if(a!=b and a!=c and a!=d and b!=c and b!=d and c!=d):
53+
mylist = [mymatrix[0][a],mymatrix[1][b],mymatrix[2][c],mymatrix[3][d]]
54+
mylist.sort()
55+
if(mylist[0]!=0):
56+
value.append(mylist[0]*25 + mylist[1]*50 + mylist[2]*75 + mylist[3]*100)
57+
elif(mylist[1]!=0):
58+
value.append(mylist[3]*100 + mylist[1]*50 + mylist[2]*75 -100)
59+
elif(mylist[2]!=0):
60+
value.append(mylist[2]*75 + mylist[3]*100 -200)
61+
elif(mylist[3]!=0):
62+
value.append(mylist[3]*100 - 300)
63+
else:
64+
value.append(-400)
65+
66+
value = max(value)
67+
myans += value
68+
print(value)
69+
print(myans)
70+
71+
72+

Project Euler/python/problem44.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import math
2+
3+
def pantaNumber(ver):
4+
return (ver*(3*ver-1))/2
5+
6+
n = 2500
7+
8+
panta = []
9+
10+
for i in range(1,n+1):
11+
panta.append(pantaNumber(i))
12+
13+
for i in range(1,n):
14+
print("value of i =",i)
15+
for j in range(n-i):
16+
print("value of (i,j)",(i,j))
17+
if panta[j+i]+panta[j] in panta:
18+
if panta[j+i]-panta[j] in panta:
19+
print("the smallest value D =",panta[j+i]-panta[i])
20+
quit()
21+
22+

Project Euler/python/problem45.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# n = int(input("Give the value of n "))
2+
3+
n = 1000000
4+
5+
prime = [True for i in range(n+1)]
6+
p = 2
7+
while (p * p <= n):
8+
if (prime[p] == True):
9+
for i in range(p * 2, n+1, p):
10+
prime[i] = False
11+
p += 1
12+
13+
primeNum = []
14+
for p in range(2, n):
15+
if prime[p]:
16+
primeNum.append(p)
17+
18+
19+
def NumOfPrimeFact(n):
20+
count=0
21+
j = 0
22+
while(n!=1):
23+
if(n%primeNum[j]==0):
24+
count+=1
25+
while(n%primeNum[j]==0):
26+
n/=primeNum[j]
27+
j+=1
28+
return count
29+
30+
k = int(input("give the value of prime factors: "))
31+
32+
i = 1
33+
flag = 0
34+
while(flag<k):
35+
if(NumOfPrimeFact(i)==k):
36+
flag+=1
37+
else:
38+
flag = 0
39+
i+=1
40+
41+
print("\n\n\t\t*****first number is =",i-k,"*****\n\n")

Project Euler/python/problem668.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import math
2+
import time
3+
start_time = time.time()
4+
5+
n = int(input("Give the value of n : "))
6+
k = math.ceil(math.sqrt(n))
7+
8+
#genrating prime numbers
9+
10+
prime = [True for i in range(k+1)]
11+
p = 2
12+
while (p * p <= k):
13+
if (prime[p] == True):
14+
for i in range(p * 2, k+1, p):
15+
prime[i] = False
16+
p += 1
17+
18+
#storing numbers in a list
19+
primeNum = []
20+
21+
for p in range(2, k):
22+
if prime[p]:
23+
primeNum.append(p)
24+
25+
count = 0
26+
27+
# test Code
28+
29+
30+
# for i in range(1,n+1):
31+
# j = 0
32+
# temp = i
33+
# while(temp!=1):
34+
# if(primeNum[j]>=math.sqrt(i)):
35+
# break
36+
# if(temp%primeNum[j]==0):
37+
# temp//=primeNum[j]
38+
# else:
39+
# j+=1
40+
# if(j==len(primeNum)):
41+
# break
42+
# if(temp==1):
43+
# count+=1
44+
# print(i) # printing value of smooth sqrt numbers
45+
46+
#Adding 1 because of the number 1 is a smooth sqrt number
47+
48+
# print("\n\t**Value of smooth square root number below",n,"=",count+1,"**")
49+
50+
51+
#Optimised code
52+
x = 0
53+
for i in range(1,n+1):
54+
if(primeNum[x]<math.sqrt(i)):
55+
x+=1
56+
j = x
57+
while(j<k-1):
58+
if(primeNum[j]<=i):
59+
if(i%primeNum[j]==0):
60+
count-=1
61+
print("in")
62+
break
63+
else:
64+
break
65+
j+=1
66+
count+=1
67+
print("out")
68+
69+
70+
print("\n\t**Value of smooth square root number below",n,"=",count,"**")
71+
72+
print("--- %s seconds ---" % (time.time() - start_time))

Project Euler/python/problem686.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
a = int(input())
2+
3+
n = 2
4+
myvalue = 0
5+
i = 1
6+
while(True):
7+
i+=1
8+
n*=2
9+
n = int(str(n)[:15])
10+
if(str(n)[:3]=='123'):
11+
myvalue+=1
12+
if(myvalue==a):
13+
break
14+
print(i)
15+

0 commit comments

Comments
 (0)