栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2166 Unit Fraction Partition

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2166 Unit Fraction Partition

#include<iostream>#include<stdio.h>#include<string.h>using namespace std;int P, Q, A, N;int gcd(int a, int b){    int t;    if(a < b){        t = a, a = b, b = t;    }    while(b!=0){        t = a % b;        a = b;        b = t;    }    return a;}int count(int v, int p, int q, int a, int n){    int ret = 0;    if(p == 1 && q >= v){        ret++;    }    if(n<=1) return ret;    int t, r, s;    int np, nq;    for(s = v; s*s<=a; s++){        np = p*s-q;        nq = q*s;        t = gcd(nq, np);        nq /= t;        if(np < 0 || s*nq>a){ continue;        }        np /= t;        ret += count(s, np, nq, a/s, n-1);    }    return ret;}void fun(){    int t = gcd(P, Q);    P /= t;    Q /= t;    int ret = count(1, P, Q, A, N);    printf("%dn", ret);}int readIn(){    scanf("%d%d%d%d",&P,&Q,&A,&N);    return P + Q + A + N;}int main(){    while(readIn() > 0){        fun();    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号