Autor
|
Tema: Ejercicios Básicos (Leído 19,164 veces)
|
ghastlyX
Ex-Staff
Desconectado
Mensajes: 1.900
|
Este código no es muy eficiente... Sabemos que un número tiene un número impar de divisores si y sólo si es un cuadrado perfecto. En vez de ir número a número y ver si es un cuadrado, es más fácil directamente coger los k primeros números y mostrar sus cuadrados. Como yo digo haces k iteraciones, como tú haces estás mirando hasta el último de los cuadrados perfectos, es decir, k 2 iteraciones. Un saludo de ghastlyX
|
|
|
En línea
|
|
|
|
Myth.ck
Desconectado
Mensajes: 303
Algorithmics & C++ Studient
|
Mmm es algo parecido claro a lo que hice, pero tu te refieres a lo siguiente?: For(i=0;i<=K;i++) { x=i^2;//En c++ no es i^2 pero basta con agregar una función cout<<x<<";"<<endl; }
|
|
|
En línea
|
Un intelectual es un hombre que usa más palabras de las necesarias para decir más cosas de las que sabe.
|
|
|
ghastlyX
Ex-Staff
Desconectado
Mensajes: 1.900
|
Sí, así te ahorras tener que pasar por cada uno de los cuadrados. Habría que decidir si el cero es o no es cuadrado perfecto. Si lo consideras cuadrado perfecto, sería el bucle hasta K - 1 incluído, si no empezaría en 1 y sería hasta K. Un saludo de ghastlyX
|
|
|
En línea
|
|
|
|
Myth.ck
Desconectado
Mensajes: 303
Algorithmics & C++ Studient
|
Tienes razón... Muchas gracias
|
|
|
En línea
|
Un intelectual es un hombre que usa más palabras de las necesarias para decir más cosas de las que sabe.
|
|
|
Eliptico
Desconectado
Mensajes: 153
|
Buenas!!!!!!
Solo quiero dejar una pequeña explicacion sobre el primer y el segundo problema:
1º) Si bucamos don numeros naturales consecutivos cuya diferencia se k se tendra que
k=(n+1)! - n! = (n+1)*n! - n! = ( (n+1) - 1) * n! = n*n!
Es decir, existira n natural cumpliendo (n+1)! - n! = k si y solo si k=n*n!
es decir, si existe un natural n tal que k=n*n! entonces existen el A=n y el B=(n+1) que se buscan, si no no.
2º) sea N={n naturales| k>=n!}
N es un conjunto de naturales acotado superiormente por k, por lo tanto tendra un maximo m cumpliendo que m! <= k.
(m+1) no puede estar en N, ya que si estubiese seria m! < (m+1)! <= k, lo cual seria contrdictorio con que m fuese maximo.
Por lo tanto (m+1) no pertenece a N y (m+1) no puede cumplir la condicion (m+1)!<=k luego (m+1)! > k
Es decir. 2 soluciona cuando se encuentra el primer n natural tal que n!>k, y en este caso se tendra que A=(n-1) y B=n.
Bueno, como el intervalo es cerrado por ambos lados, si (n-1)! = k se tendra que [(n-2)! , (n-1)!] tambien cumplen las condiciones del problema (A=(n-2) , B=(n-1)).
Ahora los dos problemas son mas faciles, ¿No?
Un saludo!!!!!!!!!
|
|
|
En línea
|
|
|
|
Eliptico
Desconectado
Mensajes: 153
|
Huy, vaya rayada con el primer problema. jejejeje. Lo he entendido y mal y lo he puesto patas arriba. A ver si lo corrijo qu la solucion no es tan matematica
|
|
|
En línea
|
|
|
|
Eliptico
Desconectado
Mensajes: 153
|
Ahi va la solucion: #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char* argv[]) { unsigned long fact1=1,fact2=1,i=1; char num1[50],num2[50]; int difCifras; /*no creo que un unsigned long tenga tantas cifras :P*/ do{ printf("Introduce la diferencia de cifras entre dos factoriales consecutivos: "); }while(difCifras<0); do{ fact1*=i; fact2=fact1*(i+1); i++; if(i==13) /*13! excede la capacidad de un usigned long*/ break; i--; if(i!=12) printf("%d! y %d! se diferencian en %d cifras\n" "%d!=%lu\n" "%d!=%lu\n",i,i+1,difCifras,i,fact1,i+1,fact2); else printf("No se dispone de tanta capacidad de calculo.\n"); return 0; }
Espero que sirva de algo!! Un saludo!!!!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ejercicios básicos C#
« 1 2 3 »
.NET (C#, VB.NET, ASP)
|
~~
|
25
|
170,810
|
4 Marzo 2016, 01:50 am
por nosky
|
|
|
EJERCICIOS BASICOS C++
« 1 2 »
Ejercicios
|
WiseHidden
|
13
|
42,501
|
27 Mayo 2011, 05:26 am
por civans89
|
|
|
ejercicios basicos para recursividad en java
« 1 2 3 »
Java
|
bengy
|
24
|
28,450
|
27 Marzo 2012, 07:53 am
por xyiyox
|
|
|
Ejercicios básicos de programacion en Shell script...
Programación General
|
er_anyel
|
1
|
4,077
|
8 Noviembre 2011, 10:59 am
por er_anyel
|
|
|
Ejercicios básicos de programacion en Shell script...
Ejercicios
|
er_anyel
|
5
|
9,965
|
14 Abril 2012, 15:23 pm
por Stakewinner00
|
|