UVa10976 Fractions Agains?!

原创 2016年05月31日 23:49:23


来源:《算法竞赛入门经典(第二版)》例题7-3、UVa10976
题目描述:
输入正整数k,求所有正整数x >= y,使得 1 / k = 1 / x + 1 / y
题目分析:
首先作为UVa的题目我们要小心输出格式。这个题是枚举+简单数学。
假定我们枚举y,由题目给的限制条件解出x = yk / (y - k);而x要满足条件:①x是正整数;②x >= y;不难得到这要求k < y <= 2k 且有 (y - k) | yk。对 y 的可能解空间进行枚举即可。
对了里面用到了c++11的特性,不得不说UVa还是有点爽的。

//  Created by wander on 16/5/27.
//  Copyright © 2016年 W4anD0eR96. All rights reserved.
//  UVa10976 Fractions Agains?!
//  类型:枚举-整数枚举

#include "bits/stdc++.h"
using namespace std;

int n;

int main() {
#ifdef DEBUG
  freopen("in", "r", stdin);
  freopen("out", "w", stdout);
#endif
  while (~scanf("%d", &n)) {
    // work
    vector< pair<int, int> > v;
    for (int y = n + 1, s, t; y <= n + n; y += 1) {
      t = y * n; s = y - n;
      if (t % s != 0) continue;
      if (t / s >= y) v.push_back(make_pair(t / s, y));
    }
    printf("%d\n", (int)v.size());
    for (auto x : v) printf("1/%d = 1/%d + 1/%d\n", n, x.first, x.second);
  }
  return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

UVA - 10976 Fractions Again?!

It is easy to see that for every fraction in the form (k > 0), we can always find two positive int...

UVa 10976 Fractions Again?

题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=37234 题目描述: 输入正整数k,找到所有正整数 x>=...

uva10976_整数拆分(优化至3ms)

PS:刘汝佳代码仓库中这题的代码逗了,我交上去居然RE了。。。。(逃题解: 原书的意思是找出最大值于最小值枚举就好了,然而仔细观察的话就会发现,第一组分母较小的数的分母为k+1,而其他组数据...
  • tt2767
  • tt2767
  • 2015年08月17日 20:13
  • 519

UVA #725 #11059 #10976 (例题7-1 7-2 7-3)

终于到了第七章暴力求解法,上来三道小题热身。。 UVa #725 Division 例题 7-1 看到这题的数据吓尿了,太惨烈了。题目完全没有数据显示出来的难度,不过中间的小细节还是要像对待难题一...

UVa 12558 Egyptian Fractions (HARD version)--迭代加深搜索

题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=842&page=show_...

UVa 12558 - Egyptian Fractions (HARD version)(IDA*)

给出一个真分数,把它分解成最少的埃及分数的和。同时给出了k个数,不能作为分母出现,要求解的最小的分数的分母尽量大。 使用IDA*算法解决,在例题求埃及分数的基础上,加上禁用限制就可以了,一开始禁用限制...
  • wcr1996
  • wcr1996
  • 2015年02月08日 04:51
  • 1849

【ID搜索】uva12558Egyptian Fractions(HARD version) 埃及分数

http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=34882题目描述:对一个分数(n/mn/m)将它分解成若干个不相等的单分...
  • cqbztsy
  • cqbztsy
  • 2015年07月27日 21:51
  • 666

uva 12558 Egyptian Fractions (HARD version)

uva 12558 Egyptian Fractions (HARD version)

UVA - 12558 Egyptian Fractions (HARD version) : 埃及分数问题 IDA*

题目点此跳转 Given a fraction a/b, write it as a sum of different Egyptian fraction. For example, 2/3 = ...
  • a27038
  • a27038
  • 2017年07月24日 19:42
  • 124

uva725除法uva11059最大乘积uva10976分数拆分(暴力求解法)

原题链接: 725:   https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UVa10976 Fractions Agains?!
举报原因:
原因补充:

(最多只允许输入30个字)