Czynniki pierwsze zadanej liczby, ciąg liczb

0

1.
Napisz program wypisujący wszystkie czynniki pierwsze zadanej liczby.

Wejście
W kolejnych wierszach standardowego wejścia są liczby całkowite z zakresu 2..106 . Ciąg kończy 0, dla którego nie powinny być wykonywane obliczenia.

Wyjście​​​​​​​
W kolejnych wierszach standardowego wyjścia powinny zostać wypisane oddzielone pojedynczymi spacjami wszystkie czynniki pierwsze liczb podanych na wejściu. Czynniki powinny być wypisane w kolejności niemalejącej. Jeśli liczba na wejściu jest liczbą pierwszą, to na wyjściu powinna zostać wypisana tylko ona

Przykład​​​​​​​
Dla danych:
24
333
824401
824402
676039
0

poprawny wynik ma postać:
2 2 2 3
3 3 37
824401
2 412201
7 13 17 19 23

Napisz program wypisujący cyfry liczby naturalnej
a. od końca; np. dla liczby 123 wypisywane są cyfry 3, 2 i 1
b. od początku; dla liczby 123 wypisywane są cyfry 1, 2 i 3
Uwaga! W programie nie należy używać tablic (czyli również typu string).

Wejście
W kolejnych wierszach standardowego wejścia są liczby całkowite dodatnie nie przekraczające 109 . Ciąg kończy 0, dla którego nie powinny być wykonywane obliczenia.

Wyjście
W kolejnych wierszach standardowego wyjścia powinny pojawić się odpowiedzi w następującym formacie (kolejne cyfry oddzielone są pojedynczą spacją :
N: Ck .. C3 C2 C1 # C1 C2 .. Ck
gdzie:
N – kolejna liczba z wejścia
C1,C2,C3,...,Ck – kolejne cyfry liczby N

Przykład
Dla danych:
12345
45678
26272829
0
poprawny wynik ma postać:
12345: 5 4 3 2 1 # 1 2 3 4 5
45678: 8 7 6 5 4 # 4 5 6 7 8
26272829: 9 2 8 2 7 2 6 2 # 2 6 2 7 2 8 2 9

3

Wydaje mi się że znowu zapomniałeś umieścić pytanie.

0

Tak napisałem pierwsze jedno zadanie potem drugie. Pierwszy raz o taką pomoc proszę dlatego nie orientuję się jak to zapisać.

Przechodząc do pytania i zadania. Zacząłem od 2 zadania bo miałem jakiś pomysł na to w kodzie podam poniżej.
Pytanie czy ja mam to podać aby od razu podał te liczby 12345: 5 4 3 2 1 # 1 2 3 4 5 ? Bo dałem aby wpisać było trzeba lecz też nie wiem jak dalej kontynuować przebieg zadania czyli aby # się pojawił ?

#include <iostream>
using namespace std;
int main()
{
    int n, r;

    cout << "Enter number:";
    cin >> n;

    while (n != 0)
    {
        r = n % 10;
        n = n / 10;

        cout << r;
    }

    cout << endl;

    system("PAUSE");
    return 0;
}
1
marofx napisał(a):

... aby # się pojawił ?

cout << " # ";
#include <iostream>
using namespace std;

void show_digits(int value)
{
    if(n)
    {
        int next=/*uzupełnić*/;
        int digit=(value-10*next);
        cout<<' '<<digit;
        show_digits(next);
        cout<<' '<<digit;
    }
    else cout << " #";
}

int main()
{
    for(int n;(cin>>n)&&(n)&&(cout<<n<<':');cout<<endl) show_digits(n);
    return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1