Pełna Liczba

Matematyczne łamigłowki i zagadki...
lulok
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 28 cze 2010, o 18:45
Płeć: Mężczyzna
Lokalizacja: Piekło

Pełna Liczba

Post autor: lulok »

Siema. Mam takie liczby czy ktoś może ułożyć z tego pełne wyniki np. 1000, 2000, 3000 do 10000. Dzięki z Góry



LICZBY:
260
2860
507
2587
1482
260
1768
1560
1664
2535
2626
1118
2015
351
2041
2054
1001
351
1638
1976
2925
1846

mam z tym maly problemik xd
Awatar użytkownika
pelas_91
Użytkownik
Użytkownik
Posty: 838
Rejestracja: 7 cze 2007, o 19:39
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 119 razy
Pomógł: 71 razy

Pełna Liczba

Post autor: pelas_91 »

A możesz po Polsku? O co Ci chodzi? I co Ty w ogóle chcesz od nas?
lulok
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 28 cze 2010, o 18:45
Płeć: Mężczyzna
Lokalizacja: Piekło

Pełna Liczba

Post autor: lulok »

chodzi o to żeby z podanych liczb ułożyć pełną sumę do 10 tysięcy np. 1230, 1263 i 507 – ich suma to 3000
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Pełna Liczba

Post autor: Afish »

Sprawdziłem to tak z grubsza i nic nie znalazłem. Da się wybrać takie liczby, żeby suma była przykładowo równa 13000, ale do 10000 program nie znalazł nic.
lulok
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 28 cze 2010, o 18:45
Płeć: Mężczyzna
Lokalizacja: Piekło

Pełna Liczba

Post autor: lulok »

właśnie mi wychodzi po 11000 ale 10000 za Chiny nie chce wyjść. Dzięki za starania . Można prosić o nazwę programu?
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Pełna Liczba

Post autor: Afish »

New.exe ;) Napisałem na szybko program sprawdzający różne sumy, ale nie sprawdzałem jego poprawności, więc nie sugeruj się moją odpowiedzią :)
lulok
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 28 cze 2010, o 18:45
Płeć: Mężczyzna
Lokalizacja: Piekło

Pełna Liczba

Post autor: lulok »

spoko. a czy na excelu szłoby to wyliczyć?
Awatar użytkownika
pelas_91
Użytkownik
Użytkownik
Posty: 838
Rejestracja: 7 cze 2007, o 19:39
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 119 razy
Pomógł: 71 razy

Pełna Liczba

Post autor: pelas_91 »

lulok pisze:spoko. a czy na excelu szłoby to wyliczyć?
Szłoby to fajnie wyliczyć w Excelu ale dla dwóch liczb - taka "tabliczka dodawania". Dla trzech musiałbyś tworzyć nową tabliczkę z wszystkimi wynikami 2x2 w kolumnie oraz Twoimi liczbami w wierszu.
lulok
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 28 cze 2010, o 18:45
Płeć: Mężczyzna
Lokalizacja: Piekło

Pełna Liczba

Post autor: lulok »

Aham ;d to kiepsko xDD
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Pełna Liczba

Post autor: Afish »

A które liczby dają sumę 11000?
lulok
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 28 cze 2010, o 18:45
Płeć: Mężczyzna
Lokalizacja: Piekło

Pełna Liczba

Post autor: lulok »

nie mogę znaleść kartki, ale za 99,9% wyszło 11000 poszukam i odezwę się później.-- 29 cze 2010, o 08:55 --Byłaby możliwość wysłania tego programu ?
sero
Użytkownik
Użytkownik
Posty: 9
Rejestracja: 3 wrz 2010, o 11:04
Płeć: Mężczyzna
Lokalizacja: Europa

Pełna Liczba

Post autor: sero »

pelas_91 pisze:A możesz po Polsku? O co Ci chodzi? I co Ty w ogóle chcesz od nas?
To ja spróbuję przetłumaczyć na polski :)

Chodzi o znalezienie takiej sumy wartości kombinacji bez powtórzeń podanego zbioru, która jest podzielna przez 1000 i nie większa niż 10000.

Podpowiem, że suma dająca 11000 nie istnieje. Znalazłem za to 2 inne sumy. To czy są większe, czy mniejsze od 10000, pozostawiam dociekliwym :)

Kod: Zaznacz cały

#!/usr/bin/env python
# (c) by sero
from itertools import combinations
liczby = ( 260, 2860, 507, 2587, 1482, 260, 1768, 1560, 1664, 2535, 2626,
	1118, 2015, 351, 2041, 2054, 1001, 351, 1638, 1976, 2925, 1846, )

# bierzemy pod uwage kombinacje od 1 do i elementowe,
# gdzie i to ilosc liczb w podanym zbiorze
for i in xrange(1, len(liczby)+1):
	
	# generujemy i elementowe kombinacje
	for t in combinations(liczby, i):
		
		# jesli reszta z dzielenia sumy elementow
		# w kombinacji przez 1000 jest rowna 0, to...
		if sum(t) % 1000 == 0:
			
			# przerabiamy liczby na napisy, laczymy je znakiem ' + '
			# i wyswietlamy wynik na ekranie
			print '%d = %s' % (sum(t), ' + '.join(map(str, t)))
wychodzi 3617 sum podzielnych przez 1000
ODPOWIEDZ