Skocz do zawartości

[c++] Stworzenie Ciągu


MitS

Rekomendowane odpowiedzi

Witam!

 

mam malutki problem ... otóż nie mogę sobię poradzić z stworzeniem takiego ciągu:

 

wejście:

int a = 8

 

wyjście:

1 12 123 1234 12345 123456 1234567 12345678

 

 

próbowałem to jakoś rekurencyjnie oraz iteracyjnie zrobić, lecz wszystko zakończło się niepowodzeniem.

I teraz pytanie do was ... jak mógłbym to osiągnąc w sposób iteracyjny ??

 

Pozdrawiam

 

Odnośnik do komentarza
Udostępnij na innych stronach

ooo super ... o to mi chodzilo :)

a tyle sie nad tym glowkowalem :)

 

eeeee pomylka ...

teraz obadalem ten kod bardziej i troszke mi nie o to chodzilo ....

 

teraz jest tak ze 12 123 1234 poszczegolne człony tego ciągu to jest jako jedna cyfra (czyli 123 to jest stodwadzieściatrzy, a mi chodzilo by bylo 1 2 3 - jeden dwa trzy).

 

np.

12 123 1234 <=> jeden dwa jeden dwa trzy jeden dwa trzy cztery

 

macie jakieś pomysły na to ???

 

Edytuj posty zamiast pisać jeden pod drugim /Karlik

Odnośnik do komentarza
Udostępnij na innych stronach

heh dzieki za pomoc ale juz udało mi sie poradzic :)

pozdrawiam

 

A jeszcze jedno pytanie mam do tego ....

 

już mi generują się liczby od 1 do a (gdzie a to jakaś liczba np. 5)

1 12 123 1234 12345

 

i moje kolejne pytanie brzmi jak znaleźć n-tą liczbę w tym ciągu gdzie n = a;

czyli w tym wypadku:

 

n = a = 5

odpowiedź 2 (bo 11212 <- 2 jest na 5 miejscu).

 

nie wiem czy bez tablic się da. Jeśli tak to prosiłbym o podpowiedź jak to można bez wykorzystania tablic zrobić (jedynie na petlach).

Pozdrawiam

 

 

PS.

 

zrobiłem coś takiego:

void fun(){
    int n = 5, t = 0;

    for(int i=1; i<=n; i++){
        for(int j=1; j<=i; j++){
            t++;
            cout << j << " = [" << t << "] " << endl;    
        }

        cout << endl;
        
        if(t == n)
            break;
    }
    
    cout << endl << t;
}

 

ale cos nie bardzo ...

wynikiem jest:

 

mits@localhost:~$ ./p

1 = [1]

 

1 = [2]

2 = [3]

 

1 = [4]

2 = [5]

3 = [6]

 

1 = [7]

2 = [8]

3 = [9]

4 = [10]

 

1 = [11]

2 = [12]

3 = [13]

4 = [14]

5 = [15]

 

 

15

mits@localhost:~$

 

a powinno być:

 

mits@localhost:~$ ./p

1 = [1]

 

1 = [2]

2 = [3]

 

1 = [4]

2 = [5]

 

5

mits@localhost:~$

 

czemu mi ten break; nie działa ???

jak robiłem

 

if(t > n)

break;

 

to było lepiej juz ale jeszcze nie to

 

PS2.

Edytuj posty zamiast pisać jeden pod drugim /Karlik

 

sorry Karlik ale dopiero teraz to zobaczyłem ...

w każdym razie juz sie nie powtorzy :)

Mam nadzieję, połączyłem te dwa posty :) /Karlik

 

PS3.

eeee chyba zupełnie źle to zrobiłem :/

gdyby ktoś mógłby mnie poprawić bym był wdzięczny

Odnośnik do komentarza
Udostępnij na innych stronach

#include <iostream>

using namespace std;

int main(){

    int n = 5, t = 0;
  
    for(int i=1; i<=n; i++){
        for(int j=1; j<=i; j++){
            t++;
            cout << j << " = [" << t << "] " << endl;
            if(t == n){
              cout <<"# liczba na "<<n<<" pozycji to: "<<j<<endl;
              return 0;
            }
        }
    }
return 0;
}

 

no tak bym to zrobij.

pz

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...