Informatică, întrebare adresată de asassingamerboss, 8 ani în urmă

Se consideră programul pseudocod alăturat.S-a notat cu x%y restul împãrţirii numerelor întregi x şi y şi cu [z] partea întreagă a numărului real z.


citeşte x ,m

{x întreg, m natural}

y=1

┌ cât timp m>0 exec

│┌ dacă m%2 =0

││ atunci

││ m=[m/2]; x=x*x

││ altfel

││ m=m-1;y=y*x

│└■

└■

scrie y

Ce va afisa pt x= -2 si m=9?

Răspunsuri la întrebare

Răspuns de EmilJoaca
5

Răspuns:

-512

Explicație:

#include <iostream>

using namespace std;

int main(){

   int x,m;

   cin>>x>>m;

   int y=1;

   while(m>0) {

       if(m%2==0) {

           m=m/2;x=x*x;

       } else {

           m=m-1;y=y*x;

       }

   }

   cout<<y;

   return 0;

}


asassingamerboss: Multumesc frumos, si mie mi-a dat -512 dar am vrut sa ma verific.
asassingamerboss: si e int x ,m,y; cred
Alte întrebări interesante