Commit fa2c5b27d6b5919b792e973f14e8b1f206ce3ec7
1 parent
4faa017546
Exists in
master
Agregando problemas resueltos
Showing
14 changed files
with
312 additions
and
0 deletions
Show diff stats
01 - Multiplos 3 y 5/p01
No preview for this file type
01 - Multiplos 3 y 5/p01.cpp
... | ... | @@ -0,0 +1,29 @@ |
1 | +/* | |
2 | + | |
3 | +Multiples of 3 and 5 | |
4 | +Problem 1 | |
5 | +If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. | |
6 | +Find the sum of all the multiples of 3 or 5 below 1000. | |
7 | + | |
8 | +By: dbk | |
9 | + | |
10 | +*/ | |
11 | + | |
12 | +#include <iostream> | |
13 | +#include <stdio.h> | |
14 | + | |
15 | +using namespace std; | |
16 | + | |
17 | +int main() | |
18 | +{ | |
19 | + int res = 0; | |
20 | + | |
21 | + for (int i = 1; i < 1000; i++) | |
22 | + { | |
23 | + res += (i % 3 == 0 || i % 5 == 0) ? i : 0; | |
24 | + } | |
25 | + | |
26 | + printf("Resultado: %i\n", res); | |
27 | + | |
28 | + return 0; | |
29 | +} | |
0 | 30 | \ No newline at end of file | ... | ... |
02 - Serie Fibonacci/p02
No preview for this file type
02 - Serie Fibonacci/p02.cpp
... | ... | @@ -0,0 +1,41 @@ |
1 | +/* | |
2 | +Even Fibonacci numbers | |
3 | +Problem 2 | |
4 | +Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: | |
5 | + | |
6 | +1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... | |
7 | + | |
8 | +By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms. | |
9 | + | |
10 | +by:dbk | |
11 | + | |
12 | +*/ | |
13 | + | |
14 | +#include <stdio.h> | |
15 | + | |
16 | +#define LIMITE 4000000 | |
17 | + | |
18 | +int main() | |
19 | +{ | |
20 | + | |
21 | + int i; | |
22 | + unsigned int a = 1; | |
23 | + unsigned int b = 1; | |
24 | + unsigned int res = 0; | |
25 | + unsigned int tmp = 0; | |
26 | + | |
27 | + do | |
28 | + { | |
29 | + | |
30 | + tmp = a; | |
31 | + a = b; | |
32 | + b += tmp; | |
33 | + | |
34 | + if (b % 2 == 0) res += b; | |
35 | + | |
36 | + }while(b < LIMITE); | |
37 | + | |
38 | + printf("\nResultado final: %ld\n", res); | |
39 | + | |
40 | + return 0; | |
41 | +} | |
0 | 42 | \ No newline at end of file | ... | ... |
03 - Factor primo/p03
No preview for this file type
03 - Factor primo/p03.cpp
... | ... | @@ -0,0 +1,37 @@ |
1 | +/* | |
2 | + | |
3 | +Largest prime factor | |
4 | +Problem 3 | |
5 | +Published on Friday, 2nd November 2001, 12:00 pm; Solved by 256800 | |
6 | +The prime factors of 13195 are 5, 7, 13 and 29. | |
7 | + | |
8 | +What is the largest prime factor of the number 600851475143 ? | |
9 | + | |
10 | +By: dbk | |
11 | + | |
12 | +*/ | |
13 | +#include <stdio.h> | |
14 | + | |
15 | +#define CALCULAR 600851475143 | |
16 | +#define MAX 1000000 | |
17 | + | |
18 | +int main(int argc, char const *argv[]) | |
19 | +{ | |
20 | + | |
21 | + long res = 0; | |
22 | + long valor = CALCULAR; | |
23 | + | |
24 | + for (int i = 2; i < MAX; i++) | |
25 | + { | |
26 | + while ( valor % i == 0) | |
27 | + { | |
28 | + valor /= i; | |
29 | + res = i; | |
30 | + } | |
31 | + | |
32 | + } | |
33 | + | |
34 | + printf("Mayor factor primo: %ld\n", res); | |
35 | + | |
36 | + return 0; | |
37 | +} | |
0 | 38 | \ No newline at end of file | ... | ... |
04 - Producto palindromo/itoaEjemplo.cpp
... | ... | @@ -0,0 +1,17 @@ |
1 | +#include <stdio.h> | |
2 | +#include <stdlib.h> | |
3 | + | |
4 | +int main () | |
5 | +{ | |
6 | + int i; | |
7 | + char buffer [33]; | |
8 | + printf ("Enter a number: "); | |
9 | + scanf ("%d",&i); | |
10 | + itoa (i,buffer,10); | |
11 | + printf ("decimal: %s\n",buffer); | |
12 | + itoa (i,buffer,16); | |
13 | + printf ("hexadecimal: %s\n",buffer); | |
14 | + itoa (i,buffer,2); | |
15 | + printf ("binary: %s\n",buffer); | |
16 | + return 0; | |
17 | +} | |
0 | 18 | \ No newline at end of file | ... | ... |
04 - Producto palindromo/p04
No preview for this file type
04 - Producto palindromo/p04.cpp
... | ... | @@ -0,0 +1,85 @@ |
1 | +/* | |
2 | +Largest palindrome product | |
3 | +Problem 4 | |
4 | +A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99. | |
5 | + | |
6 | +Find the largest palindrome made from the product of two 3-digit numbers. | |
7 | + | |
8 | +By:dbk | |
9 | +*/ | |
10 | +#include <stdio.h> | |
11 | +#include <string.h> | |
12 | + | |
13 | +using namespace std; | |
14 | + | |
15 | +#define MAX 10000 | |
16 | + | |
17 | +bool validPalindromic(int); | |
18 | +bool validPalindromicApuntador(int); | |
19 | + | |
20 | +int main(int argc, char const *argv[]) | |
21 | +{ | |
22 | + | |
23 | + int a = 1; | |
24 | + int b = 1; | |
25 | + | |
26 | + int c = 0; | |
27 | + | |
28 | + int res = 0; | |
29 | + | |
30 | + do | |
31 | + { | |
32 | + a = 1; | |
33 | + do | |
34 | + { | |
35 | + c = a * b; | |
36 | + res = (validPalindromicApuntador(c) && c > res) ? c : res; | |
37 | + | |
38 | + }while(a++ < MAX); | |
39 | + }while(b++ < MAX); | |
40 | + printf("Resultado final: %d\n", res); | |
41 | + return 0; | |
42 | +} | |
43 | + | |
44 | + | |
45 | +bool validPalindromic(int valueCheck) | |
46 | +{ | |
47 | + bool flagValid = true; | |
48 | + char buffer[30]; | |
49 | + int counterDsc = 0; | |
50 | + int counterAsc = 0; | |
51 | + int sizeStringNumber = 0; | |
52 | + | |
53 | + //Convierte el entero a una cadena | |
54 | + sprintf(buffer, "%d", valueCheck); | |
55 | + counterDsc = sizeStringNumber = strlen(buffer); | |
56 | + while(sizeStringNumber > counterAsc) { | |
57 | + flagValid &= (buffer[counterAsc++] == buffer[--counterDsc]) ? true : false; | |
58 | + } | |
59 | + | |
60 | + return flagValid; | |
61 | +} | |
62 | + | |
63 | +bool validPalindromicApuntador(int valueCheck) | |
64 | +{ | |
65 | + char *ptrAsc; | |
66 | + char *ptrDsc; | |
67 | + char buffer[30]; | |
68 | + bool flagValid = true; | |
69 | + | |
70 | + //Convierte el entero a una cadena | |
71 | + sprintf(buffer, "%d", valueCheck); | |
72 | + ptrAsc = buffer; | |
73 | + ptrDsc = &buffer[strlen(buffer)]; | |
74 | + | |
75 | + while(ptrDsc >= ptrAsc) { | |
76 | + flagValid &= (*(ptrAsc++) == *(--ptrDsc)); | |
77 | + } | |
78 | + return flagValid; | |
79 | +} | |
80 | + | |
81 | +/* | |
82 | + TEST DIR MEM Apuntadores | |
83 | + printf("mem1:\t%p\n", ptrAsc); | |
84 | + printf("mem2:\t%p\n", ptrDsc); | |
85 | +*/ | |
0 | 86 | \ No newline at end of file | ... | ... |
05 - Multiplo menor/p05
No preview for this file type
05 - Multiplo menor/p05.cpp
... | ... | @@ -0,0 +1,40 @@ |
1 | +/* | |
2 | +Smallest multiple | |
3 | + | |
4 | +Problem 5 | |
5 | + 2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder. | |
6 | + | |
7 | + What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20? | |
8 | +*/ | |
9 | +#include <stdio.h> | |
10 | + | |
11 | +using namespace std; | |
12 | + | |
13 | +#define MAX_VALUE 20 | |
14 | + | |
15 | + | |
16 | +int main(int argc, char const *argv[]) | |
17 | +{ | |
18 | + int i = 0; | |
19 | + int incMultiplos = 0; | |
20 | + | |
21 | + bool flgValid = true; | |
22 | + | |
23 | + do | |
24 | + { | |
25 | + i++; | |
26 | + flgValid = true; | |
27 | + incMultiplos = MAX_VALUE; | |
28 | + | |
29 | + while(incMultiplos > 0) | |
30 | + { | |
31 | + flgValid &= (i % incMultiplos-- == 0); | |
32 | + if (!flgValid) break; | |
33 | + } | |
34 | + | |
35 | + }while(!flgValid); | |
36 | + | |
37 | + printf("i: %d \t%x\n", i, flgValid); | |
38 | + | |
39 | + return 0; | |
40 | +} | |
0 | 41 | \ No newline at end of file | ... | ... |
06 - Suma de diferencia de cuadrados/p06
No preview for this file type
06 - Suma de diferencia de cuadrados/p06.cpp
... | ... | @@ -0,0 +1,42 @@ |
1 | +/* | |
2 | + | |
3 | +Sum square difference | |
4 | +Problem 6 | |
5 | +The sum of the squares of the first ten natural numbers is, | |
6 | + | |
7 | +12 + 22 + ... + 102 = 385 | |
8 | +The square of the sum of the first ten natural numbers is, | |
9 | + | |
10 | +(1 + 2 + ... + 10)2 = 552 = 3025 | |
11 | +Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640. | |
12 | + | |
13 | +Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum. | |
14 | + | |
15 | +*/ | |
16 | + | |
17 | +#include <stdio.h> | |
18 | +#include <math.h> | |
19 | + | |
20 | +using namespace std; | |
21 | + | |
22 | +#define LIMITE_RANGO 100 | |
23 | + | |
24 | +int main(int argc, char const *argv[]) | |
25 | +{ | |
26 | + | |
27 | + int i = 0; | |
28 | + int res = 0; | |
29 | + int valSum = 0; | |
30 | + int valPow = 0; | |
31 | + | |
32 | + while(i++ < LIMITE_RANGO) | |
33 | + { | |
34 | + valSum += i; | |
35 | + valPow += pow(i, 2); | |
36 | + } | |
37 | + | |
38 | + res = pow(valSum, 2) - valPow; | |
39 | + printf("Resultado final: %d\n", res); | |
40 | + | |
41 | + return 0; | |
42 | +} | |
0 | 43 | \ No newline at end of file | ... | ... |
p01.cpp
... | ... | @@ -0,0 +1,21 @@ |
1 | +#include <iostream> | |
2 | + | |
3 | +using namespace std; | |
4 | + | |
5 | +int main() | |
6 | +{ | |
7 | + res = 0; | |
8 | + | |
9 | + for (int i = 10; i > 0; i--) | |
10 | + { | |
11 | + | |
12 | + if (i % 3 == 0 || i % 5) | |
13 | + { | |
14 | + res += i; | |
15 | + } | |
16 | + | |
17 | + } | |
18 | + | |
19 | + cout << res << endl; | |
20 | + | |
21 | +} | |
0 | 22 | \ No newline at end of file | ... | ... |