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

Cerința
Se dă n un număr natural nenul. Să se afle ultima cifră a sumei: S=1^4 + 2^4 + 3^4 + ... + n^4.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran ultima cifră a numărului S.
Restricții și precizări 1 ≤ n ≤ 1.000.000.000
Exemplu
Intrare
4
Ieșire
4
Explicație S=1+16+81+256=354, deci ultima cifră este 4.

Răspunsuri la întrebare

Răspuns de Rayzen
6
#include <iostream>
using namespace std;

int main()
{

    long long n;
    long long s;
    cin>>n;
    long long par = n/2;
    long long impar=0;
    if(n%2 == 0)
    {
        impar = (n/2);
    }
    else
    {
        impar = n/2+1;
    }
    long long zece = n/10;
    long long cinci = (n/5)-zece;
    s = ((impar - cinci*1)%10 + ((par-zece)*6)%10+ (cinci*5)%10)%10;
    cout<<s;
}

Rayzen: mda, am gresit, ceva, nu mai scriu aici, o sa pun raspunsul daca reusesc sa ii dau de cap.
Razzvy: Din numerele divizibile cu 5 trebuie sa le scazi pe cele divizibile cu 10
Rayzen: da, am observat
Rayzen: #include <iostream>
using namespace std;

int main()
{

long long n;
long long s;
cin>>n;
long long par = n/2;
long long impar=0;
if(n%2 == 0)
{
impar = (n/2);
}
else
{
impar = n/2+1;
}
long long zece = n/10;
long long cinci = (n/5)-zece;

cout<<"par="<<par<<"| "<<"impar="<<impar<<"| cinci= "<<cinci<<"|zece= "<<zece<<endl<<endl;
s = ((impar - cinci*1)%10 + ((par-zece)*6)%10+ (cinci*5)%10)%10;
cout<<s;
}
Rayzen: 100 de puncte, gata!
Rayzen: Da-mi corectare :D
Rayzen: pls.
Rayzen: #include <iostream>
using namespace std;

int main()
{

long long n;
long long s;
cin>>n;
long long par = n/2;
long long impar=0;
if(n%2 == 0)
{
impar = (n/2);
}
else
{
impar = n/2+1;
}
long long zece = n/10;
long long cinci = (n/5)-zece;
s = ((impar - cinci*1)%10 + ((par-zece)*6)%10+ (cinci*5)%10)%10;
cout<<s;
}
Rayzen: asta e.
Rayzen: gata.
Răspuns de stassahul
3
#include <iostream>

using namespace std;

int n;

int main()
{

    cin >> n;

    int c=n/10;
    int r=n%10;

    switch(r)
    {
        case 0 : cout << ((c*3)%10)%10; break;
        case 1 : cout << ((c*3)%10+1)%10; break;
        case 2 : cout << ((c*3)%10+7)%10; break;
        case 3 : cout << ((c*3)%10+8)%10; break;
        case 4 : cout << ((c*3)%10+14)%10; break;
        case 5 : cout << ((c*3)%10+19)%10; break;
        case 6 : cout << ((c*3)%10+25)%10; break;
        case 7 : cout << ((c*3)%10+26)%10; break;
        case 8 : cout << ((c*3)%10+32)%10; break;
        case 9 : cout << ((c*3)%10+33)%10; break;
    }


    return 0;

}

stassahul: Nu stiu de unde am solutia, mai demult am inceput sa rezolv toata clasa 9-a pe pbinfo
stassahul: Sati explic ce am facut din pacate nu pot xd
Alte întrebări interesante