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 | ... | ... |