"CO DLA JEDNEGO JEST OCZYWISTE, INNEMU
ZAJMIE 1,5 ROKU ABY TO ODKRYĆ"
LICZBY PIERWSZE WG. MART'A
Jak myślisz ile kolejnych liczb nieparzystych z sumuje Liczba Pierwsza, oczywiście nie koniecznie od jeden?
Z ilu takich liczb zbudujemy np. liczbę 97?
Czy odpowiedź nie powinna być znana
i ogólnie dostępna zapisana regułą?
Nawet Nazwaną, według co niektórych,
a może i większość (Ironicznie
),
"PRAWEM PIERWSZEŃSTWA LICZB" NAWET WG. MARTA,
CZY ODPOWIEDŹ NIE POWINNA BYĆ NA TO PYTANIE, KRÓTKA I ZWIĘZŁA JAKO COŚ OCZYWISTEGO?
CZY NIE POWINNA BYĆ:
"DLA LICZBY 97 JAKO IŻ, JEST LICZBĄ PIERWSZĄ JEDYNYM CIĄGIEM KOLEJNYCH LICZB JAKIM ZDOŁA SIĘ Z NICH ZBUDOWAĆ JEST ONA SAMA, BO PODZIELNA JEST PRZEZ DWA DZIELNIKI?
DOSTAŁEM MNIEJ WIĘCEJ TAKĄ:

PEWNIE, DLA NIEKTÓRYCH JEST TO ZNANE, ALE UWAŻAM,
ŻE DLA WIĘKSZOŚCI NIE JEST, DLATEGO UDOSTĘPNIAM
PROGRAM W PYTHONIE, NIGDY NIE WIADOMO CO KOMY BEDZIE POTRZEBNE:
def find_consecutive_odd_sum(target):
results = []
# Szukamy ciągów, zaczynając od każdej nieparzystej liczby
for start in range(1, target + 1, 2): # Rozpoczynamy od każdej liczby nieparzystej
current_sum = 0
current_sequence = []
# Zbieramy kolejne liczby nieparzyste
for num in range(start, target + 1, 2):
current_sum += num
current_sequence.append(num)
# Sprawdzamy, czy suma równa się docelowej liczbie
if current_sum == target:
results.append(list(current_sequence)) # Dodajemy ciąg do wyników
return results
# Wyświetlamy tekst przed obliczeniami
print("MART, PRAWO PIERWSZEŃSTWA LICZB...")
# Użytkownik podaje liczbę całkowitą
try:
target_number = int(input("Podaj liczbę całkowitą, dla której chcesz znaleźć ciągi liczb nieparzystych: "))
if target_number <= 0:
print("Proszę podać liczbę całkowitą większą niż 0.")
else:
odd_sums = find_consecutive_odd_sum(target_number)
# Wyświetlamy wyniki
print(f"Ciągi kolejnych liczb nieparzystych sumujące się do {target_number}:")
if odd_sums:
for seq in odd_sums:
seq_sum = " + ".join(map(str, seq)) # Tworzymy zapis sumy
print(f"{target_number} jako suma: {seq_sum}")
else:
print(f"Nie znaleziono ciągów liczb nieparzystych, które sumują się do {target_number}.")
except ValueError:
print("Proszę podać poprawną liczbę całkowitą.")
PRÓCZ TEGO CIĄGU LICZB NIEPARZYSTYCH,PRAWO PIERWSZEŃSTWA LICZB ...
POWINNO UWZGLĘDNIAĆ RÓWNIEŻ CIĄG LICZB NATURALNYCH,
"SUMA KOLEJNYCH LICZB NATURALNYCH RÓWNA LICZBIE PIERWSZEJ, NIE MOŻE BYĆ WIĘKSZA OD DWÓCH"
NADAL UWAŻAM, ŻE TWIERDZENIE O POLU TRAPEZU BĘDĄCYM SUMĄ RÓWNA LICZBIE PIERWSZEJ
JEST POTRZEBNE, TAKIE JAK:
PROSTE TWIERDZENIE MART'A.
LICZBY PIERWSZE MOŻEMY PRZEDSTAWIĆ JAKO PUNKTY W PRZESTRZENI DWUWYMIAROWEJ(PODOBNIE JAK LICZBY ZŁOŻONE): 2+3, 3+,4 5+6...
Z TA RÓŻNICĄ,ŻE ZBUDUJEMY Z TYCH LICZB (PUNKTÓW) PEŁNE POLE TRAPEZU,
SKŁADAJĄCEGO SIĘ ZAWSZE Z DWÓCH WARSTW I TYLKO DWÓCH.
W PRZECIWIEŃSTWIE DO LICZB ZŁOŻONYCH, GDZIE OPRÓCZ, DWÓCH WARSTW, ZBUDUJEMY RÓWNIEŻ ICH WIĘCEJ.
"TRAPEZ LUB JAK KTO WOLI PODSTAWA PIRAMIDY O WARTOŚCI POLA LICZBY PIERWSZEJ I WYSOKOŚCI DWÓCH WARSTW 2+3, 3+,4 5+6..."
NAWET PO TO BY TAKI UCZEŃ ZROZUMIAŁ I MÓGŁ SOBIE WYOBRAZIĆ LICZBY PIERWSZE,
JAKO PODSTAWA PIRAMIDY O WYSOKOŚCI DWA, BO TO PROSTE!!!
A WZORY " k*(2a+k-1)/2 " SĄ RACZEJ ZA TRUDNE NP. W PODSTAWÓWCE
(CHOCIAŻ KTO WIE? TERAZ PO TYLU REFORMACH)
PROGRAM W PYTHON SZUKAJĄCY SUMY KOLEJNYCH LICZB NATURALNYCH:
def find_consecutive_sum(target):
results = []
# Zaczynamy od 1 do target // 2, ponieważ większe liczby nie będą miały sensu
for start in range(1, target // 2 + 1):
current_sum = 0
# Zbieramy kolejne liczby
for num in range(start, target):
current_sum += num
# Sprawdzamy, czy suma równa się docelowej liczbie
if current_sum == target:
results.append(list(range(start, num + 1))) # Dodajemy ciąg do wyników
break # Przerywamy, gdy znajdziemy odpowiedni ciąg
elif current_sum > target:
break # Nie ma sensu kontynuować, jeśli suma przekroczyła cel
return results
# Wyświetlamy tekst przed obliczeniami
print("MART, PRAWO PIERWSZEŃSTWA LICZB...")
# Użytkownik podaje liczbę całkowitą
try:
target_number = int(input("Podaj liczbę całkowitą, dla której chcesz znaleźć ciągi liczb naturalnych: "))
if target_number <= 0:
print("Proszę podać liczbę całkowitą większą niż 0.")
else:
consecutive_sums = find_consecutive_sum(target_number)
# Wyświetlamy wyniki
print(f"Ciągi kolejnych liczb naturalnych sumujące się do {target_number}:")
if consecutive_sums:
for seq in consecutive_sums:
print(seq)
else:
print(f"Nie znaleziono ciągów liczby naturalnych, które sumują się do {target_number}.")
except ValueError:
print("Proszę podać poprawną liczbę całkowitą.")
PROGRAMY NIE SZUKAJĄ WSZYSTKICH SUM, SZCZEGÓLNIE TEN OD LICZB NIEPARZYSTYCH.
PAMIĘTAJ JA NIE JESTEM ANI MATEMATYKIEM,
ANI TYM BARDZIEJ INFORMATYKIEM,
"CHYBA FANATYKIEM LICZB PIERWSZYCH"