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

ÎN STDIO.H!!!!!


Scrieti un program care cere de la tastatura un numar a( de o cifra) si care afiseaza valoarea expresiei a16(a la putera 16).
Aplicati de cât mai putine ori operatorul de înmultire.

Date de intrare:
Programul citeste de la tastatura numarul a.

Date de iesire:
Programul va afisa pe ecran valoarea calculata.

Restrictii si precizari:
0<= a <=9


artur99: Poți folosi operatori pe biți? >> și <<?
ruben58: Nu
ruben58: Problema de clasa a IX-a
artur99: dacă nu, doar înmulțești numărul cu el însuși de 4 ori
artur99: okkk fie
ruben58: Poti folosi

Răspunsuri la întrebare

Răspuns de artur99
5

Explicație:

Pentru a micșora numărul de utilizări ale operatorului de înmulțire, ne putem folosi de proprietățile puterilor. Adică dacă am calculat

n = a * a

Știm că n * n va fi a⁴

Și dacă stocăm rezultatul lui n*n tot în n, atunci n va fi de fapt a⁴ * a⁴ = a⁸

Șamd...

Răspuns:

#include <stdio.h>

int main() {

   int a;

   int n;

   scanf("%d", &a);

   n = a * a; // a ^ 2

   n = n * n; // a ^ 4

   n = n * n; // a ^ 8

   n = n * n; // a ^ 16

   printf("%d", n);

}

Anexe:

artur99: Dacă vrei puțin diferit de asta, poți face cu un for
ruben58: Ok
ruben58: Multumesc
ruben58: Hei
ruben58: Ma poti ajuta?
artur99: salut
artur99: la ce?
ruben58: Mate
lucaciucandrei: a<<15 :))
artur99: =)))
Alte întrebări interesante