Răspuns :
#include <iostream>
using namespace std;
/*am folosit o formula directa pentru calcul
prima parte este: (n / k) * (k * (k - 1) / 2). Noi stim ca resturile progreseaza de la 0 la k - 1, astfel daca ar fi sa calculam suma tuturor acestor resturi, ar fi 0 + 1 + 2 + ... + (k - 1) = k * (k - 1) / 2 (Suma Gauss). Stim ca aceasta secventa completa de resturi apare de n / k ori
A doua parte a formulei este (n % k) * (n % k + 1) / 2 , care calculeaza suma resturilor ramase. Aceasta formula provine tot de la suma Gauss.
*/
int main()
{
int n,k;
cin>>n>>k;
cout<<(n/k)*(k*(k-1)/2)+(n%k)*(n%k+1)/2;
}
using namespace std;
/*am folosit o formula directa pentru calcul
prima parte este: (n / k) * (k * (k - 1) / 2). Noi stim ca resturile progreseaza de la 0 la k - 1, astfel daca ar fi sa calculam suma tuturor acestor resturi, ar fi 0 + 1 + 2 + ... + (k - 1) = k * (k - 1) / 2 (Suma Gauss). Stim ca aceasta secventa completa de resturi apare de n / k ori
A doua parte a formulei este (n % k) * (n % k + 1) / 2 , care calculeaza suma resturilor ramase. Aceasta formula provine tot de la suma Gauss.
*/
int main()
{
int n,k;
cin>>n>>k;
cout<<(n/k)*(k*(k-1)/2)+(n%k)*(n%k+1)/2;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!