Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def first():
- res_array = []
- f = open('liczby.txt', 'r')
- for x in f:
- h = int(x)
- while h % 3 == 0:
- h = h / 3
- if h == 1:
- res_array.append(x)
- f.close()
- return res_array
- def second():
- res_array = []
- f = open('liczby.txt', 'r')
- for x in f:
- res = 0
- for i in x:
- if not i == '\n':
- res = res + factorial(int(i))
- if int(res) == int(x):
- res_array.append(x)
- f.close()
- return res_array
- def third():
- f = open('liczby.txt', 'r')
- biggest_counter = 0
- last_pos = 0
- loop_counter = 0
- actual_counter = 0
- gcd_memory = 0
- biggest_gcd = 0
- y = int(f.readline())
- for x in f:
- loop_counter += 1
- if gcd(x, y) == gcd_memory:
- actual_counter += 1
- else:
- if actual_counter > biggest_counter:
- biggest_counter = actual_counter
- last_pos = loop_counter
- biggest_gcd = gcd_memory
- actual_counter = 0
- gcd_memory = gcd(x, y)
- y = x
- res_array = [last_pos + 1, biggest_counter, biggest_gcd]
- f.close()
- return res_array
- def factorial(x):
- if x == 1:
- return x
- elif x > 1:
- x = factorial(x - 1) * x
- return x
- else:
- return 0
- def gcd(x, y):
- rest = int(x) % int(y)
- last_rest = rest
- while not rest == 0:
- x = y
- y = rest
- rest = int(x) % int(y)
- if not rest == 0:
- last_rest = rest
- return int(last_rest)
- def main():
- f = open('wynik4.txt', 'a')
- ex_first = first()
- ex_second = second()
- ex_third = third()
- f.write("Zad 4.1\n")
- for x in ex_first:
- f.write(x)
- f.write("Zad 4.2\n")
- for x in ex_second:
- f.write(x)
- f.write("Zad 4.3\n")
- for x in ex_third:
- f.write(str(x) + "\n")
- f.close()
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement