6 条题解
-
0
#include<stdio.h> int gcd(int x,int y)//求最大公约数 { if(y==0) { return x; } return gcd(y,x%y); } int main() { int n; scanf("%d",&n); while(n--) { int k; scanf("%d",&k); int f=1; for(int y=k+1;y<1000;y++)//数过大会超时 { for(int x=y;x<1001;x++)同上 { f=1; f=x*y; int lcm=f/gcd(x,y);//求最小公倍数 int x1=lcm/x; int x2=lcm/y; int sum=x1+x2; if(lcm==k*sum)//用除法会输出错误案例 { printf("1/%d=1/%d+1/%d\n",k,x,y); } } } } return 0; } -
0
属于是屎山代码了😅
from math import sqrt,ceil,gcd,log;re=lambda:map(int,input().strip().split()) t, = re() for _ in range(t): k, = re() for y in range(2, 2 * k + 1): try: if (k * y) % (y - k) == 0: x = (k * y) // (y - k) if x > 0 and k * (x + y) == x * y: print(f"1/{k}=1/{x}+1/{y}") except: pass
- 1
信息
- ID
- 145
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 724
- 已通过
- 288
- 上传者