Posted on 2012-08-19 16:22
hoshelly 阅读(515)
评论(0) 编辑 收藏 引用 所属分类:
C 、
Programming 、
DS && Algorithm
编写一程序,用0或1填充一个二维数组,如果i 和j 的最大公因子为1,则设a[i][j]为1;否则设为0。
代码如下:
#include<stdio.h>
#define N 10
int Maxcom(int a, int b)
{
while(a!=b)
{
if(a>b)
a=a-b;
else if(b>a)
b=b-a;
}
return a;
}
int main()
{
int a[N][N];
int i,j,max;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==1 && j==1)
a[i][j]=1;
else if( i>0 && j>0)
{
max = Maxcom(i,j);
if(max == 1)
a[i][j]=1;
else
a[i][j]=0;
}
else
a[i][j]=0;
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}