Schematy blokowe

0

Cześć piszę do was z prośbą o pomoc z typem zadania przedstawionym blokowo. Kompletnie go nie rozumiem, nie wiem jak się za nie zabrać.Temat to

Dane wejściowe: x, n – liczby całkowite.
ok.png

Napisz program realizujący podany algorytm oraz sformułuj pytanie, na które odpowiedzią jest wynik przedstawionego algorytmu.

1

Aby napisać kod wg schematu blokowego wcale nie koniecznie jego rozumieć, zwyczajnie pisz wg tego co masz w blokach.

2

Zadałeś sobie chociaż trud wygooglowania "schemat blokowy"? Bo pierwszy wynik to świetny artykuł na wikipedii... https://pl.wikipedia.org/wiki/Schemat_blokowy

1

jw, przepisać na kod możesz w zasadzie z marszu, nie trzeba tu nic rozumieć, tylko kawałki kodu wyłuskać z bloczków

sformułuj pytanie, na które odpowiedzią jest wynik przedstawionego algorytmu.

Na oko algorytm odpowiada na pytanie czy x == n^k bo w pętli dzielimy x przez n aż nie zostanie nam 1 (wtedy odpowiedź to tak), albo nie będzie się dało podzielić (wtedy odpowiedź to nie). Plus są tam dwa szczególne przypadki -> jeśli x=1 to wiadomo ze dla k=0 odpowiedź to tak, niezależnie od n i jednocześnie wiadomo że jeśli x!=1 a n=1 to odpowiedź brzmi nie (i nie ma sensu robić pętli która dzieli przez n bo dzielenie przez 1 nic nam nie powie)

5

Postanowiłem dać gotowca:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	int x,n;
	while(!((cin>>x>>n)&&(x>0)&&(n>0))) {}
	double i;
    cout<<(fabs(modf(log(x)/log(n),&i))<1E-7?"TAK":"NIE")<<endl;
	return 0;
}

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