程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> UVA 10976 Fractions Again?!,10976fractions

UVA 10976 Fractions Again?!,10976fractions

編輯:C++入門知識

UVA 10976 Fractions Again?!,10976fractions


題意:

  輸入一個正整數k,找出所有正整數x>=y,使得1/k=1/x+1/y

分析:

  x>=y退出1/x<=1/y,所以1/k-1/y<=1/y,所以y<=2k;枚舉y

代碼:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
int k;
int x[10011],y[10011];
int main()
{
int cnt;int i;
while(~scanf("%d",&k))
{
cnt=0;
        for(i=k+1;i<=2*k;i++)
{
if((k*i)%(i-k)==0)
{
y[cnt]=i;
x[cnt]=(k*i)/(i-k);
cnt++;
}
}
printf("%d\n",cnt);
for (i=0;i<cnt;++i)
printf("1/%d = 1/%d + 1/%d\n",k,x[i],y[i]);
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved