文章

145

粉丝

217

获赞

21

访问

80.6k

头像
最简真分数 题解:C

#include <stdio.h>
#define N 600

void Sort(int a[],int n)
{
	int i,j,t;
	for(i = 0; i < n-1; i++)
		for(j = 1; j < n-i; j++)
			if(a[j-1] > a[j])
			{
				t = a[j];
				a[j] = a[j-1];
				a[j-1] = t;
			}
}

int SimpScore(int n,int m)
{
	int i = 2,flag = 1;
	while(i <= n)
	{
		if(n % i == 0 && m % i == 0)
		{
			flag = 0;
			break;
		}
		i++;
	}
	return flag;
}

int main()
{
	int n,a[N],i,j,count;
	while(scanf("%d",&n) != EOF)
	{
		count = 0;
		for(i = 0; i < n; i++)
			scanf("%d",&a[i]);
		//从小到大排个序
		Sort(a,n);

		for(i = 0; i < n-1; i++)
			for(j = i+1; j < n; j++)
				if(a[i] < a[j])
					//判断a[i]与a[j]两个数是否为最简真分数
					if(SimpScore(a[i],a[j]))
						count++;
		printf("%d\n",count);
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发