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

problema 382 pbinfo.C++
Cerinţa
Se dau două numere naturale nenule n și k. Să se determine multiplul lui k cel mai apropiat de n.

Date de intrare
Programul citește de la tastatură numerele n și k, în această ordine.

Date de ieşire
Programul afișează pe ecran numărul p, reprezentând multiplul lui k cel mai apropiat de n.

Restricţii şi precizări
1 ≤ k ≤ n ≤ 1.000.000
dacă există mai mulți multipli ai lui k la fel de apropiați de n, se va afișa cel mai mic.

Răspunsuri la întrebare

Răspuns de Palmabil
3

#include<iostream>

using namespace std;

int main()

{

   unsigned int n,k,x,y,z;

   cin>>n>>k;

   y=n/k;

   x=k*y;

   z=k*(y+1);

   if(n-x<z-n)

   cout<<x;

   else

   if(n-x>z-n)

   cout<<z;

   else

   if(n-x==z-n)

       cout<<x;

   return 0;

}

Alte întrebări interesante