-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Algorytm wyboru k z n
Date: Fri, 24 Jul 2015 19:48:51 +0200
Organization: ATMAN - ATM S.A.
Lines: 80
Message-ID: <mottq3$amj$1@node1.news.atman.pl>
References: <motlpq$f7u$1@node2.news.atman.pl>
NNTP-Posting-Host: 89-73-81-145.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1437760131 10963 89.73.81.145 (24 Jul 2015 17:48:51 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 24 Jul 2015 17:48:51 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101
Thunderbird/31.7.0
In-Reply-To: <motlpq$f7u$1@node2.news.atman.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:207898
[ ukryj nagłówki ]On 24.07.2015 17:32, Borneq wrote:
> Jak wypisać wszystkie możliwości k z n?na przykład wypisać 32-bitowe
> liczby, które by miały 6 bitów zapalonych?
Nakarm googla
Enumerating k-combinations
(enumerate) numbers with k bits set
matlab nchoosek.m ;-)
http://stackoverflow.com/questions/127704/algorithm-
to-return-all-combinations-of-k-elements-from-n
Tu masz kilka różnych algorytmów, włącznie z kodami greya.
Podoba mi się ten bitowy:
http://stackoverflow.com/questions/1851134/generate-
all-binary-strings-of-length-n-with-k-bits-set
http://www.graphics.stanford.edu/~seander/bithacks.h
tml#NextBitPermutation
Po małym odkurzeniu:
int main() {
int k=4;
const int n=7;
uint64_t v= (1<<k) - 1;
while ( v < (1<<n) ) {
cout<<bitset<n>(v)<<endl;
uint64_t t = (v | (v - 1)) + 1;
v = t | ((((t & -t) / (v & -v)) >> 1) - 1);
}
}
bitset<n> jest tylko do ładnego wyświetlania.
Ograniczone jest niestety do 64 obiektów.
boost::multiprecision::int128_t i podobne marudzą na
jednoargumentowy minus, można je nakłonić do współpracy tak:
v = t | ((((t & 0-t) / (v & 0-v)) >> 1) - 1);
pzdr
bartekltg
0001111
0010111
0011011
0011101
0011110
0100111
0101011
0101101
0101110
0110011
0110101
0110110
0111001
0111010
0111100
1000111
1001011
1001101
1001110
1010011
1010101
1010110
1011001
1011010
1011100
1100011
1100101
1100110
1101001
1101010
1101100
1110001
1110010
1110100
1111000
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-25 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-07-25 Re: Brawo !!! Osy chronione w Niemczech. Za usunięcie gniazda grozi mandat
- 2025-07-25 cudzoziemiec bez biletu
- 2025-07-25 Gdynia => Sales Executive / KAM <=
- 2025-07-25 Inżynierzy z prawomocnym...
- 2025-07-25 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-25 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-25 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-25 Skrobanie
- 2025-07-25 Lublin => Konsultant ds. Wdrożeń ERP (moduł FK) <=
- 2025-07-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-07-25 Re: Boeing Bad Dream (Koszmar) Liner rozbity w Delhi ...
- 2025-07-24 Re: Wypadek kolejowy na stacji Wiesiółka- analiza tragicznego zdarzenia z czerwca 2001 roku.
- 2025-07-23 Re: Tysiące wypadków na niebezpiecznych przejazdach kolejowych a Polskie Linie Kolejowe nic nie robią odlat, bo kierowca pociągu nie ginie
- 2025-07-23 Re: Tysiące wypadków na niebezpiecznych przejazdach kolejowych a Polskie Linie Kolejowe nic nie robią odlat, bo kierowca pociągu nie ginie