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

salut

Ma poate ajuta si pe mine cineva cu o problema?


Cerința

Într-un grup sunt n prieteni. Când se întâlnesc se salută, fiecare dând mână cu toți ceilalți. Câte strângeri de mână au loc?
Date de intrare

Programul citește de la tastatură numărul n.
Date de ieșire

Programul va afișa pe ecran valoarea cerută.
Restricții și precizări

1 ≤ n ≤ 1 000 000 000



astept solutii

multumesc

Răspunsuri la întrebare

Răspuns de ArMyFoRHeLL
41
pentru n=4
A B C D
A (da 3 trei ori mana)
B(de 2 ori mana ,a dat deja cu A)
C( odata,a dat deja cu A,B)
1+2+3
pentru n=3
A B C
A (da de 2 ori mana)
B (odata)
C( deja a dat )
1+2
Observam ca numarul care il cautam e de fapt al n-1 lea termen al sumei lui gauss
suma lui gauss:n(n+1)/2
pentru al n-1 termen :(n-1)n/2
si codul devine:
#include <iostream>
using namespace std;
int main()
{
    long long int n;
    cin>>n;
    cout<<(n-1)*(n)/2;


    return 0;
}



tudorspidy: aa deci tu ai pus intai solutia matematica si apoi codul ook mersi
tudorspidy: sunt si eu incepator la info si eu ma gandeam la cv cu perechi de nr
tudorspidy: gen grupez a cu b...dupa a cu c...si apoi b cu c
tudorspidy: oricum mersi
ArMyFoRHeLL: Cu placere,daca mai ai o intrebare poti sa-mi scrii
Paul223: ce face acel "long long"? si eu am inceput cu C++ :))
tudorspidy: ala am impresia ca tine de valoarea numerelor...daca le declari vu int...bu poti citi dupa numere foarte mari...de aceea e int long long ca daca vrei doar cu int sa citesti...9000000000000000000..nu prea poti si atunci folosesti long long..nu stiu nici eu exact ..asa am inteles
Alte întrebări interesante