Se dă n un număr natural nenul. Să se afle ultima cifră a sumei: S=1^4 + 2^4 + 3^4 + ... + n^4.
O metoda mai eficienta decat asta?
#include
using namespace std;
int main()
{
int i,n;
long long S=0;
cin>>n;
for(i=1;i<=n;i++)
S=S+i*i*i*i;
cout<
return 0;
}
Răspunsuri la întrebare
Răspuns de
4
Am rezolvat aceasta problema foarte urat deoarece eram incepatoare in momentul in care am rezolvat-o. Daca vrei, te pot ajuta cu o sursa mult mai eleganta.
#include <stdio.h>
using namespace std;
int main() {
int n , s = 0, p =1, i, im;
scanf("%d", &n) ;
int decateori = n / 10;
int rest = n % 10;
if (decateori == 0) {
for (i = 1; i <= n ; i++) {
im = i % 10;
if (im == 1 || im == 3 || im == 7 || im == 9)
s = (s + 1 ) % 10;
else if (im == 2 || im == 4 || im == 6 || im == 8)
s = (s + 6 ) % 10;
else if (im == 5)
s = (s + 5) % 10;
}
}
else {
s = (3 * decateori ) % 10;
for (i = 1; i <= rest ; i++) {
im = i % 10;
if (im == 1 || im == 3 || im == 7 || im == 9)
s = (s + 1 ) % 10;
else if (im == 2 || im == 4 || im == 6 || im == 8)
s = (s + 6 ) % 10;
else if (im == 5)
s = (s + 5) % 10;
}
}
printf("%d", s);
return 0;
}
#include <stdio.h>
using namespace std;
int main() {
int n , s = 0, p =1, i, im;
scanf("%d", &n) ;
int decateori = n / 10;
int rest = n % 10;
if (decateori == 0) {
for (i = 1; i <= n ; i++) {
im = i % 10;
if (im == 1 || im == 3 || im == 7 || im == 9)
s = (s + 1 ) % 10;
else if (im == 2 || im == 4 || im == 6 || im == 8)
s = (s + 6 ) % 10;
else if (im == 5)
s = (s + 5) % 10;
}
}
else {
s = (3 * decateori ) % 10;
for (i = 1; i <= rest ; i++) {
im = i % 10;
if (im == 1 || im == 3 || im == 7 || im == 9)
s = (s + 1 ) % 10;
else if (im == 2 || im == 4 || im == 6 || im == 8)
s = (s + 6 ) % 10;
else if (im == 5)
s = (s + 5) % 10;
}
}
printf("%d", s);
return 0;
}
Alte întrebări interesante
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă