⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1076.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1076 on 2006-01-09 at 13:04:03 */ 
#include <cstdio>
#include <algorithm>
using namespace std;

const int LIMIT = 160;
const int MAX = 8000;

class Fraction {
public:
	int n, d;
	bool operator <(const Fraction&) const;
	void set(int, int);
};
bool Fraction::operator <(const Fraction& f) const {
	return (n * f.d < f.n * d);
}
void Fraction::set(int ni, int di) {
	n = ni, d = di;
}

int gcd(int, int);

int main()
{
	Fraction f[MAX] = { { 0, 1 }, { 1, 1 } };
	int i, j, fn = 2;
	int n;
	
	for(i = 2; i <= LIMIT; i++) {
		for(j = 1; j < i; j++) {
			if(gcd(i, j) == 1) f[fn++].set(j, i);
		}
	}
	sort(f, f+fn);
	while(scanf("%d", &n) != EOF) {
		for(i = 0; i < fn; i++) {
			if(f[i].d <= n) printf("%d/%d\n", f[i].n, f[i].d);
		}
		putchar('\n');
	}
	
	return 0;
}

int gcd(int a, int b)
{
	if(a % b == 0) return b;
	else return gcd(b, a%b);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -