👤
a fost răspuns

Se considera algoritmul alaturat ,reprezentat in pseudocod:
citeste n,k
(numere naturale nenule k>1)
Pn c-0
cat timp pn=0 executa
x←n
cat timp x%k=0 executa
x←[x/k]
daca x=1 atunci
Pn←n
n←n-1
Scrie Pn
a) Scrieti valoarea afisata daca se citesc,in aceasta ordine,numerele 48 si 6.


Se Considera Algoritmul Alaturat Reprezentat In Pseudocod Citeste Nk Numere Naturale Nenule Kgt1 Pn C0 Cat Timp Pn0 Executa Xn Cat Timp Xk0 Executa Xxk Daca X1 class=

Răspuns :

Programul ia toate numerele de la n în jos și verifică dacă k la o oarecare putere este egal cu vreunul dintre numere... În cazul de mai sus, n scade de la 48 până ajunge la 36, care e egal cu k² (6²)

Am atașat tabelul de valori. Răspunsul este: 36...

Codul transcris în C++:

#include <iostream>
using namespace std;
int main(){
    int n,k,x,pn;
    cin>>n>>k;
    pn = 0;
    while(pn==0){
        x=n;
        while(x%k==0){
            x=x/k;
        }
        if(x==1)
            pn=n;
        n--;
    }
    cout<<pn;
}

L-am rulat și dă același rezultat: 36 :D


Vezi imaginea Artur99