Hogy tudom kiirattatni az A és B betű összes variációját úgy, hogy pontosan 5 karaktert írjon ki?
C++ esetén egy lehetséges megoldás:
#include <iostream>
using namespace std;
int main () {
char mychars[] = {'A','B'};
for (int i=0;i<sizeof(mychars);i++)
for (int j=0;j<sizeof(mychars);j++)
for (int k=0;k<sizeof(mychars);k++)
for (int l=0;l<sizeof(mychars);l++)
for (int m=0;m<sizeof(mychars);m++)
cout << mychars[i] << mychars[j] << mychars[k] << mychars[l] << mychars[m] << "\n";
return 0;
}
Ha már C++, hogy kerüljük az ötszörös mélységű ciklusokat, de kis bitműveletet belekeverjünk :D
#include <iostream>
using namespace std;
void print(int ind, int num)
{
if(ind)
{
if(num & ind)
cout << 'A';
else
cout << 'B';
print(ind/2, num);
}
}
int main()
{
for(int i(0); i<32; ++i)
{
print(16, i);
cout << '\n';
}
}
BBBBB
BBBBA
BBBAB
BBBAA
BBABB
BBABA
BBAAB
BBAAA
BABBB
BABBA
BABAB
BABAA
BAABB
BAABA
BAAAB
BAAAA
ABBBB
ABBBA
ABBAB
ABBAA
ABABB
ABABA
ABAAB
ABAAA
AABBB
AABBA
AABAB
AABAA
AAABB
AAABA
AAAAB
AAAAA
Az összes variáció.
Az ind az az index rövidítése.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!