Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define FALSE 0
#define TRUE !FALSE
typedef int Bool;
int cant_digitos(int numero)
{
int cifras;
for(cifras=0; pow(10, cifras)<=numero; cifras++)
;
return cifras;
}
void array_digitos(int numero, int numero2)
{
int cifras = cant_digitos(numero);
int *array = (int *) calloc (cifras, sizeof(int));
int *array2 = (int *) calloc (cifras, sizeof(int));
int i = 0;
while(cifras>0)
{
array[i] = numero%10;
array2[i] = numero2%10;
numero = numero/10;
numero2 = numero2/10;
i++;
cifras--;
}
int j;
for(j=0; j<i; j++)
printf("array[%d] = %d y array2[%d] = %d\n", j, array[j], j, array2[j]);
printf("\n\n");
Bool b=TRUE;
j=0;
for(; j<i; j++)
{
if(array[j] != array2[j]) {
b = FALSE;
break;
}
}
free(array); array=NULL;
free(array2); array2=NULL;
if(b) printf("Si se cumple la propiedad\n");
else printf("No se cumple la propiedad\n");
}
void array_digitos2(int numero, int numero2, int n)
{
int copia = numero;
int cifras = cant_digitos(numero);
int *array = (int *) calloc (cifras, sizeof(int));
int *array2 = (int *) calloc (cifras, sizeof(int));
int j, i;
i=0;
while(cifras>0)
{
array[i] = numero%10;
array2[i] = numero2%10;
numero = numero/10;
numero2 = numero2/10;
i++;
cifras--;
}
Bool b=TRUE;
for(j=0; j<i; j++)
{
if(array[j] != array2[j]) {
b = FALSE;
break;
}
}
free(array); array=NULL;
free(array2); array2=NULL;
if(b)
printf("%d es %d-morfico. Pues %d^%d=%f\n", copia, n, copia, n, pow(copia,n));
}
int main()
{
int i, j, k, exp;
printf("Chequear hasta K: "); scanf("%d", &k);
printf("Chequear hasta Exponente: "); scanf("%d", &exp);
for(i=2; i<=k; i++)
for(j=2; j<=exp; j++)
array_digitos2(i, pow(i, j), j);
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define FALSE 0
#define TRUE !FALSE
typedef int Bool;
long int potencia(int a, int b)
{
if (b<=0)
return 1;
else
return a*potencia(a,b-1);
}
void funcion(int num, int exp)
{
Bool b = TRUE;
int num2, cifras, copia=num;
num2 = potencia(num, exp);
for(cifras=0; potencia(10,cifras)<=num; cifras++) ;
/* printf("num: %d, cifras: %d, num2: %d \n", num, cifras, num2); */
while(cifras>0)
{
/* printf("%d>0, %d(mod 10)=%d == %d(mod 10)=%d \n", cifras, num, num%10, num2, num2%10); */
if(num%10 != num2%10)
{
/* printf("Luego %d>0, %d(mod 10)=%d == %d(mod 10)=%d \n", cifras, num, num%10, num2, num2%10); */
b = FALSE;
break;
}
num = num/10;
num2 = num2/10;
cifras--;
}
if(b) printf("%d es automórfico. Pues %d^%d=%ld\n", copia, copia, exp, potencia(copia,exp) );
/* else printf("\nNo es automórfico. Pues %d^%d=%ld\n", copia, exp, potencia(copia, exp)); */
}
int main()
{
int k, i, exp, j;
printf("ingrese K: "); scanf("%d", &k);
printf("ingrese hasta que exponente: "); scanf("%d", &exp);
for(i=2; i<=k; i++)
for(j=2; j<=exp; j++)
funcion(i, j);
system("pause");
return 0;
}
#define FALSE 0
#define TRUE !FALSE
typedef int Bool;
Bool palindromo(char *a);
void es_ipalindromo(char *a);
void es_dpalindromo(char *a);
Bool palindromo(char *a)
{
Bool b = TRUE;
int unsigned i, j;
for(i=0, j=strlen(a)-1; i<strlen(a); i++, j--)
{
if(a[i] != a[j]) b = FALSE;
break;
}
return b;
}
void es_ipalindromo(char *a)
{
int unsigned i;
char *b = (char *) calloc (strlen(a)+1, sizeof(char));
for(i=1; i<strlen(a); i++)
b[i] = a[i];
if(palindromo(b))
printf("%s \tES i-palindromo\n", a);
else
printf("%s \tNO i-palindromo\n", a);
free(b); b=NULL;
}
void es_dpalindromo(char *a)
{
int unsigned i;
char *b = (char *) calloc (strlen(a)+1, sizeof(char));
for(i=0; i<strlen(a)-1; i++)
b[i] = a[i];
if(palindromo(b))
printf("%s \tES d-palindromo\n", a);
else
printf("%s \tNO d-palindromo\n", a);
free(b); b=NULL;
}