Odpowiedź :
Odpowiedź:
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
vector <int> lista;
int a;
int i=0;
int a_start;
cout<<"Wczytaj liczbe" <<endl;
cin>>a;
a_start = a;
fstream plik( "plik.txt", std::ios::out );
plik<<"poczatkowa wartosc = " << a_start<< " : ";
while(a!=1)
{
if(a % 2 == 0)
{
a = a/2;
lista.push_back(2);
}else
{
if(a % 3 == 0)
{
a=a/3;
lista.push_back(3);
}else if(a % 4 == 0)
{
a=a/4;
lista.push_back(4);
}else if(a % 5 == 0)
{
a=a/5;
lista.push_back(5);
}else if(a % 6 == 0)
{
a=a/6;
lista.push_back(6);
}else if(a % 7 == 0)
{
a=a/7;
lista.push_back(7);
}
else if(a % 8 == 0)
{
a=a/8;
lista.push_back(8);
}else if(a % 5 == 0)
{
a=a/9;
lista.push_back(9);
}
}
plik<<lista[i]<<endl;
plik<<a << " : ";
i++;
}
plik.close();
return 0;
}
Wyjaśnienie:
Nie wiem w jakim języku miał być wykonany program ale podejrzewam że miał być to c++.
Sprawdzam czy liczba jest podzielna najpierw przez 2, jeśli nie to sprawdzam czy dzieli się przez 3 ,4 ,5 itd. aż znajdę najniższy dzielnik nie pozostawiający reszty, następnie zapisuje to do wektora (dynamicznej tablicy) i z niej zapisuje prosto do pliku o nazwie plik.txt który utworzy się automatycznie w programie.