Superincreasing sequence
In mathematics, a sequence of positive real numbers is called superincreasing if every element of the sequence is greater than the sum of all previous elements in the sequence.[1][2]
Formally, this condition can be written as
for all n ≥ 1.
Program
[edit]The following Python source code tests a sequence of numbers to determine if it is superincreasing:
sequence = [1, 3, 6, 13, 27, 52] total = 0 test = True for n in sequence: print("Sum: ", total, "Element: ", n) if n <= total: test = False break total += n print("Superincreasing sequence? ", test)
This produces the following output:
Sum: 0 Element: 1 Sum: 1 Element: 3 Sum: 4 Element: 6 Sum: 10 Element: 13 Sum: 23 Element: 27 Sum: 50 Element: 52 Superincreasing sequence? True
Examples
[edit]- (1, 3, 6, 13, 27, 52) is a superincreasing sequence, but (1, 3, 4, 9, 15, 25) is not.[2]
- The series a^x for a>=2
Properties
[edit]- Multiplying a superincreasing sequence by a positive real constant keeps it superincreasing.
See also
[edit]References
[edit]- ^ Richard A. Mollin, An Introduction to Cryptography (Discrete Mathematical & Applications), Chapman & Hall/CRC; 1 edition (August 10, 2000), ISBN 1-58488-127-5
- ^ a b Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, pages 463-464, Wiley; 2nd edition (October 18, 1996), ISBN 0-471-11709-9