import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Mitur
*
* link: http://p...content-available-to-author-only...j.com/problems/ETI06F2/
*
*/
public class CiekawaWyliczanka {
static void wypelnijTabliceLiczbamiCiekawymi
( String [][]tab,
int size
){ int potega = 2;
for(int i = 0; i < size; i++){
potega *= 2;
}
potega = 2;
tab[0][0] = "5";
tab[0][1] = "6";
for(int i = 1; i < size; i++){
potega *= 2;
for(int j = 0; j <potega ; j++){
if(j<(potega/2)){
tab[i][j] = "5"+ tab[i-1][j];
}
else tab[i][j] = "6" + tab[i-1][j-(potega/2)] ;
}
}
}
static void pokazLiczbeCiekawa(int kLiczbaCiekawa){
int rozmiar = 1;
int liczbaPomocnicza = 2;
while(kLiczbaCiekawa >liczbaPomocnicza){
rozmiar++;
liczbaPomocnicza *= 2 ;
}
String wartoscKtejLiczbyCiekawej
= "";
wypelnijTabliceLiczbamiCiekawymi(tab, rozmiar);
int ItyElementTablicy = 0;
int potega = 2;
for(int i = 0; i < rozmiar; i++){
for(int j = 0; j <potega ; j++){
ItyElementTablicy++;
if(ItyElementTablicy == kLiczbaCiekawa){
wartoscKtejLiczbyCiekawej = tab[i][j];
break;
}
}
potega *= 2;
}
System.
out.
println("ciekawa liczba: " + wartoscKtejLiczbyCiekawej
); }
public static void main
(String[] args
) {
Scanner input
= new Scanner
(System.
in);
int kLiczbaCiekawa = 0;
if(input.hasNextInt()){
kLiczbaCiekawa = input.nextInt();
}
if ( kLiczbaCiekawa < 1 || kLiczbaCiekawa > 1000000000){
System.
out.
println("Liczba poza zakresem"); }
pokazLiczbeCiekawa(kLiczbaCiekawa);
}
}