首页 > 学院 > 开发设计 > 正文

最简真分数

2019-11-11 05:04:57
字体:
来源:转载
供稿:网友
总时间限制: 1000ms 内存限制: 65536kB 描述

给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。

输入第一行是一个正整数n(n<=600)。第二行是n个不同的整数,相邻两个整数之间用单个空格隔开。整数大于1且小于等于1000。输出一个整数,即最简真分数组合的个数。样例输入
73 5 7 9 11 13 15样例输出           17
本题我使用的主要方法是碾转相除,又用到了两个函数(一个为最简分数的判断,一个为真分数的判断),下面附上ac代码。若有更好的解题思路欢迎提建议。
#include<stdio.h>int zf(int n,int m){    int temp;    while(n!=0)    {        temp=m%n;        m=n;        n=temp;    }    return m;}double fs(int n,int m){    return (double)n/m;}int main(){    int n,i,j,a[10000]={0},t=0,m;    scanf("%d",&n);    for(i=1;i<=n;i++)        scanf("%d",&a[i]);    for(i=1;i<=n;i++)          for(j=1;j<=n;j++)           if(zf(a[i],a[j])==1&&fs(a[i],a[j])<1)            t++;           PRintf("%d",t);   return 0;}
上一篇:MyBatis.2剖析

下一篇:linux case语句

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表