Sparčiai didėjanti seka

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Jump to navigation Jump to search

Matematikoje teigiamų realiųjų skaičių seka 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:

Pavyzdys[redaguoti | redaguoti vikitekstą]

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[redaguoti | redaguoti vikitekstą]


Informacijos šaltiniai[redaguoti | redaguoti vikitekstą]

  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