Tenka1 Programmer Contest

来源:互联网 发布:c语言绝对值函数 编辑:程序博客网 时间:2024/05/22 16:00

C - 4/N

Time limit : 2sec / Memory limit : 256MB

Score : 300 points

Problem Statement
You are given an integer N.

Find a triple of positive integers h, n and w such that 4⁄N=1⁄h+1⁄n+1⁄w.

If there are multiple solutions, any of them will be accepted.

Constraints
It is guaranteed that, for the given integer N, there exists a solution such that h,n,w≤3500.
Inputs
Input is given from Standard Input in the following format:

N
Outputs
Print a triple of positive integers h, n and w that satisfies the condition, in the following format:

h n w
Sample Input 1
2
Sample Output 1
1 2 2
4⁄2=1⁄1+1⁄2+1⁄2.

Sample Input 2
3485
Sample Output 2
872 1012974 1539173474040
It is allowed to use an integer exceeding 3500 in a solution.

Sample Input 3
4664
Sample Output 3
3498 3498 3498

#include<bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN=1e5+5;int main(){    LL N;    while(scanf("%lld",&N)!=EOF)    {        LL h,n,t1,t2;        bool flag=false;        for(h=1;h<=3500;h++)        {            for(n=1;n<=3500;n++)            {                t1=N*h*n;                t2=4*h*n-n*N-h*N;                if(t1>0&&t2>0&&t1%t2==0)                {                    printf("%lld %lld %lld\n",h,n,t1/t2);                    flag=true;                    break;                }            }            if(flag) break;        }    }    return 0;}
原创粉丝点击