M-tuplas diofantinas

Alba Gállego


/* Algoritmo que compruebe si una m-tupla de enteros asociada al entero n es diofantina.
Una tal m-tupla es diofantina si verifica que para todo i!=j, (término-i*término-j+n) 
es cuadrado perfecto */

#define DIM 500
#include <stdio.h>
#include <math.h>

int main ()
{
 int m, n, i, j, numeros[DIM], termino, flag=0;
 float terminor;

 printf("Indica la dimension de tu m-tupla, por favor: ");
 scanf("%d", &m);

printf("Introduce tus %d numeros, por favor: \n", m);
 for(i=0; i<m; i++)
 {
 scanf("%d", &numeros[i]);
 }

printf("Indica el entero asociado: ");
 scanf("%d", &n);

for(i=0; i<m; i++)
 {
 for(j=0; j<m; j++)
 {
 if(i!=j)
 {
 termino=(numeros[i]*numeros[j])+n;
 terminor=sqrt(termino);
 if(floor(terminor)!=terminor) flag++; //Saber si es entero
 }
 }
 }
 if(flag!=0)
 printf("\nNO es una m-tupla diofantina.");
 else
 printf("\nEs una m-tupla diofantina.");

return 0;
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a M-tuplas diofantinas

  1. Observa correcciones: “terminor” debe ser float y las decisión final con el “flag” va al revés.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s