-
Notifications
You must be signed in to change notification settings - Fork 0
/
project_euler6.c
60 lines (50 loc) · 1.61 KB
/
project_euler6.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h>
#include <stdlib.h>
/* ---------------------------------------------------------------------- */
/* prototypes */
void pe6(void); /* Proj. Euler problem #6 */
int soma_de_quadrados(int x);
int quadrado_das_somas(int x);
int main(void)
{
pe6(); /* Proj. Euler problem #6 */
return EXIT_SUCCESS;
}
/* ---------------------------------------------------------------------- */
/* Proj. Euler problem #6 */
/* Problem description:
* O problema pede para encontrar a diferença entre a soma dos quadrados dos primeiros n números naturais e o quadrado da soma desses mesmos números.
*/
void pe6(void)
{
/* local variables */
ulong r=0; /* answer */
int x = 100; // O valor de n fornecido pelo problema
// Chama a função para calcular a soma dos quadrados
int soma_quad = soma_de_quadrados(x);
// Chama a função para calcular o quadrado da soma
int quad_soma = quadrado_das_somas(x);
// Calcula a diferença entre o quadrado da soma e a soma dos quadrados
int subtracao = quad_soma - soma_quad;
r = subtracao;
printf("%s: %lu\n", __FUNCTION__, r); /* answer */
return;
}
//Funcao para calcular a soma dos quadrados
int soma_de_quadrados(int x) {
int soma = 0;
for (int i = 1; i <= x; i++) {
soma += i * i;
}
return soma;
}
// Função para calcular o quadrado da soma dos primeiros n números naturais
int quadrado_das_somas(int x) {
int soma = 0;
// Loop para calcular a soma de todos os números de 1 até n
for (int i = 1; i <= x; i++) {
soma += i;
}
// Retorna o quadrado da soma
return soma * soma;
}