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

Se dau n și k numere naturale. Calculați suma resturilor împărțirii tuturor numerelor naturale de la 1 la n prin numărul k.
Date de intrare
Programul citește de la tastatură numerele n și k, separate prin spațiu.

Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma resturilor împărțirii tuturor numerelor naturale de la 1 la n prin numărul k.

Restricții și precizări
1 ≤ n , k ≤ 2.000.000.000

Răspunsuri la întrebare

Răspuns de Utilizator anonim
14
#include <iostream>

int main () {

    unsigned int n, k, suma = 0, i;
    
    cin >> n;
    cin >> k;

    for(i = 0; i <=n; i++) {
    suma = suma + (i%k)
    }

    cout << suma;

    return 0;
}

Răspuns de davidalexandru9
29
#include <iostream>
using namespace std;
 int main()
{
long long n,k,x,y,S;
 cin>>n>>k;
x=k*(k-1)/2;
 y=n%k;
y=(y+1)*y/2;
 n=n/k;
 S=n*x+y;
 cout<<S<<endl;
return 0;
}
Alte întrebări interesante