Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Necesitamos urgentemente un programa en lenguaje C de unas cien líneas!

¡Necesitamos urgentemente un programa en lenguaje C de unas cien líneas!

#include

#include

#define?

void?make_num(int?t[],int? x,int?y)//Generar 100000 decimales en la matriz a

{ int?i,k=0,m,temp;temp=x for(i=0;i

k++; if(k>=100)?//Si la división excede 100 veces, se considera un decimal finito{

system("cls");

printf (" %d/%d no es un decimal periódico de %d.

",x,y,x/y);

for(i=0;i<=20;i++)

printf("%d",t[i]) ;

printf("\n");

salir(0); } }

int?start(int?t[])//? Encuentre la posición inicial del cuerpo del bucle

{ int?i,j,m=0,n=0,b[1000] for(i=0,j=N-1000;i<1000; ; j++,i++)//poner los últimos 1000 bits de a en la matriz b b[i]=t[j]; for(i=0;i<N-1000;i++)//Pon los elementos en b con a Compara los elementos hasta encontrar elementos que hagan que sus elementos correspondientes sean completamente iguales

//En este punto, obtendrás el valor de n, que es la posición inicial que los hace iguales { if(t [ i]==b[m]) {

if(m==0)?n=i;

m++ } else?if(m!=0?&& ? t[i]! =b[m])

m=0; si(m==999)

romper; N-1001;i>=0;i--,j--)// Compara las posiciones de a[n-1] y a[N-1001] desde el comienzo del cuerpo del bucle y la posición de la desigualdad cuando no son iguales/ / La posición inicial del cuerpo del bucle { if(t[i]!=t[j])

break } return?i+1;

}

int?find(int?t[],int?x)?//Encontrar el punto final del bucle

{ int?i,j,k,m ; for(i=x+1,k= x;i

, entonces esta posición es el final del ciclo { if(t[i]==t[k]) {

k++;

m=i-k+x } else

k=x ; } retorno?m;

}

principal()

{ int?i, m1,start_n ,start_n,start_n,start_n,start_n,start_n, start_n,start_n,start_n,start_n,start_n,start_n,start_n,start_n,start_n,start_n,start_n,start_n,start_n { m1,start_n,end,son,mon,a[N ]; printf("Ingrese el numerador y el denominador: ?") ; scanf("%d?%d",&son,&mon); posición inicial del cuerpo del bucle system("cls"); printf("El lugar decimal para el inicio del bucle \n es:? %d\n",start_n+1); //La posición final del cuerpo del bucle if(end-start_n> =1000)?//Si la posición final

Reste la posición inicial mayor que 1000 bits, entonces esta fracción se considerará como una fracción infinita sin bucles // Teóricamente no existe una fracción infinita sin bucles, y no estoy seguro de esto, así que tal vez esto se pueda omitir { system("cls "); printf("%d/%d para fracciones infinitamente acíclicas es:\n?%d.", hijo,mon,son/mon for(i=0;i<=1000;i++); )

printf("%d",a[i]); printf("\n"); exit(0); printf("Los decimales en bucle infinito para %d/%d son.\ n\n% d.",son,mon,son/mon);//Muestra la parte entera y el punto decimal de la fracción for(i=0;i

}

El método para encontrar el cuerpo del bucle. bucle decimal infinito y el punto de inicio del bucle es el siguiente: