zoukankan      html  css  js  c++  java
  • USACO Section 2.1 Ordered Fractions

    /*
    ID: lucien23
    PROG: frac1
    LANG: C++
    */
    
    #include <iostream>
    #include <fstream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    typedef struct Fraction
    {
    	int numerator;
    	int denominator;
    	Fraction(){}
    	Fraction(int x, int y)
    	{
    		numerator = x;
    		denominator = y;
    	}
    } Fraction;
    
    bool isPrimes(int x, int y);
    
    bool compFrac(Fraction frac1, Fraction frac2)
    {
    	if (frac1.numerator/(double)frac1.denominator < frac2.numerator/(double)frac2.denominator)
    	{
    		return true;
    	}
    	return false;
    }
    
    int main()
    {
    	ifstream infile("frac1.in");
    	ofstream outfile("frac1.out");
    	if(!infile || !outfile)
    	{
    		cout << "file operation failure!" << endl;
    		return -1;
    	}
    
    	int N;
    	infile >> N;
    
    	vector<Fraction> fractions;
    	fractions.push_back(Fraction(0, 1));
    	fractions.push_back(Fraction(1, 1));
    
    	for (int i=1; i<=N; i++)
    	{
    		for (int j=1; j<i; j++)
    		{
    			if (isPrimes(j, i))
    			{
    				fractions.push_back(Fraction(j, i));
    			}
    		}
    	}
    
    	sort(fractions.begin(), fractions.end(), compFrac);
    
    	for (vector<Fraction>::iterator it=fractions.begin(); it!=fractions.end(); it++)
    	{
    		outfile << it->numerator << "/" <<it->denominator << endl;
    	}
    
    	return 0;
    }
    
    /*
     *推断两数是否互质
     */
    bool isPrimes(int x, int y)
    {
    	for (int i=2; i<=x; i++)
    	{
    		if (x%i == 0 && y%i == 0)
    		{
    			return false;
    		}
    	}
    
    	return true;
    }

  • 相关阅读:
    D:yyyUNetSegmentation_code_20180301data rain
    第六课cnn和迁移学习-七月在线-cv
    lecture7图像检索-七月在线-cv
    lecture4特征提取-七月在线-cv
    guling code细节
    resNet代码-小象/cv
    unet网络讲解,附代码
    数字三角形
    递归折半查找
    分治法寻找第k大的数
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6916448.html
Copyright © 2011-2022 走看看