Sparčiai didėjanti seka

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Matematikoje teigiamų realiųjų skaičių seka \mathbf{s_1, s_2, ...} yra vadinama sparčiai didėjanti, jei kiekvienas sekantis sekos elementas yra didesnis už visų prieš jį esančių sekos elementų sumą. [1][2]

Sparčiai didėjančių skaičių seka matematiškai užrašoma taip:

s_{n+1} > \sum_{j=1}^n s_j

Pavyzdys[taisyti | redaguoti kodą]

Skaičių seka (1, 3, 6, 13, 27, 52) yra sparčiai didėjanti seka, o (1, 3, 4, 9, 15, 25), ne, nes trečiasis sekos elementas 4 nėra didesnis už prieš jį einančių elementų 1 ir 3 sumą.[2] Žemiau pateiktas pavyzdys Python programavimo kalba patikrina ar pateikta skaičių seka yra sparčiai didėjanti:

#!/usr/bin/env python3
 
def iter_sum_of_previous(sequence):
    sum_of_previous = 0
    for element in sequence:
        yield sum_of_previous, element
        sum_of_previous += element
 
 
def is_superincreasing(sequence):
    for sum, element in iter_sum_of_previous(sequence):
        if element <= sum: return False
    return True
 
 
def print_sequence(sequence):
    print('\nTestuojama skaičių seka:')
    print('\n    {}\n'.format(sequence))
    print('Suma         Elementas ')
    print('----------   ----------')
    for sum, element in iter_sum_of_previous(sequence):
        greather = '>' if element <= sum else '<'
        print('{:10} {} {}'.format(sum, greather, element))
    print('----------   ----------')
 
 
    if is_superincreasing(sequence):
        print('Seka yra sparčiai didėjanti')
    else:
        print('Seka nėra sparčiai didėjanti')
 
 
print_sequence([1, 3, 6, 13, 27, 52])
print_sequence([1, 3, 4, 9, 15, 25])

Programos išvestis:

Testuojama skaičių seka:

    [1, 3, 6, 13, 27, 52]

Suma         Elementas 
----------   ----------
         0 < 1
         1 < 3
         4 < 6
        10 < 13
        23 < 27
        50 < 52
----------   ----------
Seka yra sparčiai didėjanti

Testuojama skaičių seka:

    [1, 3, 4, 9, 15, 25]

Suma         Elementas 
----------   ----------
         0 < 1
         1 < 3
         4 > 4
         8 < 9
        17 > 15
        32 > 25
----------   ----------
Seka nėra sparčiai didėjanti

Taip pat žiūrėti[taisyti | redaguoti kodą]


Informacijos šaltiniai[taisyti | redaguoti kodą]

  1. Richard A. Mollin, An Introduction to Cryptography (Discrete Mathematical & Applications), Chapman & Hall/CRC; 1 edition (Rugpjūčio 10, 2000), ISBN 1-58488-127-5
  2. 2,0 2,1 Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, puslapiai 463-464, Wiley; 2nd edition (Spalio 18, 1996), ISBN 0-471-11709-9