Informatică, întrebare adresată de vladpastinaru0p5q92x, 9 ani în urmă

#382 AproapeK

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.
Exemplu
Intrare

18 5
Ieșire

20

Răspunsuri la întrebare

Răspuns de S0unds
1
#include <iostream>
using namespace std;

int main()
{
unsigned long n,k,p,x,y,g;
long min;
cin>>n>>k;
min=99999;
for(int i=1;i<=n;i++)
{
p=k*i;
if(p<n)
{
for(int j=p;j<=n;j++)
x=j;
if(x<min)
{ g=p; min=x;}
}
if(p>n)
{
for(int j=n;j>=p;j--)
y=j;
if(y<min)
{min=y;g=p;}
}
}
cout<<g;
}
Alte întrebări interesante