code
#include <stdio.h>
#include <conio.h>
intktsnt(unsigned longn)
{
unsigned long i;
if (n==0 || n==1) return 0;
for(i=2;i*i<=n;i++) if (n%i==0) return 0;
return 1;
}
intktsht(unsigned longn)
{
unsigned long i,k=0;
for(i=2;i<n;i++) if(n%i==0)
{
k+=i;
if(k>n) return 0;
}
if (n==k) return 1; else return 0;
}
voiddocdl(unsigned longa[][50],int *n,int*m)
{
int i,j;
FILE *u;
u=fopen("c:\\input.txt","rt");
fscanf(u,"%d%d",&*n,&*m);
for(i=0;i<*n;i++)
for(j=0;j<*m;j++)
fscanf(u,"%lu",&a[i][j]);
fclose(u);
}
voidxemmang1(unsigned longa[],unsigned longn)
{
unsigned long i;
printf("\n");
for(i=0;i<n;i++)
printf(" %lu ",a[i]);
printf("\n");
}
voidxemmang2(unsigned longa[][50],int n,intm)
{
int i,j;
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf(" %lu ",a[i][j]);
printf("\n");
}
printf("\n");
}
voidxuly(unsigned longa[][50],int n,intm,unsigned longb[],unsigned long*demnt,unsigned longc[],unsigned long*demht)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if (ktsnt(a[i][j]))
{
b[*demnt]=a[i][j];
*demnt = *demnt + 1;
}
if (ktsht(a[i][j]))
{
b[*demht]=a[i][j];
*demht= *demht + 1;
}
}
}
}
voidmain()
{
unsigned long a[50][50], // mang luu du lieu doc tu tep.
b[2500],demnt=0,// mang luu so nguyen to.
c[2500],demht=0;// mang luu so hoan thien.
intm=0,n=0;
docdl(a,&n,&m);
xemmang2(a,n,m);
xuly(a,n,m,b,&demnt,c,&demht);
printf("\n Mang nguyen to dc tao la");
xemmang1(b,demnt);
printf("\n Mang so hoan thien dc tao la");
xemmang1(c,demht);
printf("\nHoan Tat ");
getch();
}
No comments:
Post a Comment