# incluir ltmath.h gt
int isprime(int n){
int I;
for(I = 2;iltn;i)
Si (ni==0)
Devuelve 0;
Devuelve 1;
}
int prime_m(int n, int x[], long y[]){
int m, j=0, s[20]={0}, a ;
Largo M, rei
for(m = 2; m lt= n; m){
M=(largo)pow(2, m )-1;
While(isprime(M)){ // aquí se debe utilizar if, no While.
rei = M;
a = 0;
Blanco (rei)
{ s[a]= rei 10;
rei = rei/10;
a
}
printf("d\n ",M);
//A- debe ejecutarse antes de la operación s[a], porque el s[a] correspondiente no tiene ningún valor asignado después de la última a.
if(s[a]2==1){
for(;a = 0;A-){// El juicio de condición intermedia de la declaración for no debe ser a= 0 (esta es una declaración de asignación), pero A >=0
if(s[a]==1){
x[j]= m; p >
y[j]= M;
j;
//Se ha encontrado aquí, debería estar roto.
}
}
}
}
}
Devuelve j;
}
void main(){
int k, n, x[100], I
龙y[100; ];
ARCHIVO * fp
fp=fopen("myf2.out ", " w ");
Printf("Por favor, ingrese n:\n ");
scanf("d ", ampn);
k=prime_m(n, x, y);
printf("d\n ", k);
for(I = 1; I lt= k; I) //x[i] e y[i] deben generarse en pares, por lo que hay uno menos "{ " .
//Además, el rango de valores de I debe ser [0, k-1], es decir, para (I = 0; iltk; i)
fprintf(fp , "d\n",x[I]); //Veo el formato solicitado. ¿Debería usarse "\t" aquí en lugar de "\n"?
fprintf(fp, " d\n ", y[I]);
//Agrega "}" aquí.
fprintf(fp, "\nMi número de examen es: 00123");
fclose(FP);
}