Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3.7
- import numpy;
- import math
- from math import sqrt
- def generatePrimeNumbers():
- number = 2
- c = 0
- while True:
- if not (number % 2 == 0 and number > 2):
- for divisor in range(3, int(sqrt(number))+1, 2):
- if number % divisor == 0:
- c = 1
- break
- if c != 1:
- yield number
- number += 1
- c = 0
- def getPrimeFactors(multiple):
- primeNumbers = generatePrimeNumbers()
- output = []
- while multiple > 1:
- factor = next(primeNumbers)
- if multiple % factor == 0:
- output.append(factor)
- multiple /= factor
- primeNumbers = generatePrimeNumbers()
- else:
- continue
- return output
- def generateSequence(k):
- x = [0,0.5]
- for i in range(2,k):
- xi = 1;
- factors = getPrimeFactors(i);
- for factor in factors:
- sumprev = 0;
- for i in range(1,factor):
- if factor != k and factor != 1:
- sumprev -= x[i]
- xi *= sumprev
- x.append(xi)
- return x;
- #seq = generateSequence(97);
- #print(seq);
- #print(sum(seq))
Advertisement
Add Comment
Please, Sign In to add comment