6 条题解

  • 1
    @ 2023-9-26 21:13:39
    #include <stdio.h>
    int main() {
    	int k,x,y,n;
    	scanf("%d",&n);
    	while(n--) {
    		scanf("%d",&k);
    		for(x=(k+1); x<=2*k; x++) {
    			y=(k*x)/(x-k);
    			if((k*x)%(x-k)==0) {
    				y=(k*x)/(x-k);
    				printf("1/%d=1/%d+1/%d\n",k,y,x);
    			}
    		}
    	}
    	return 0;
    }
    
    • 0
      @ 2025-12-2 20:25:31
      #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
        @ 2025-10-31 20:01:39
        #include <stdio.h>
        int main() {
        	int n,k,x,y;
        	scanf("%d",&n);
        	while(n--) {
        		scanf("%d",&k);
        		for(x=(k+1); x<=2*k; x++) {
        			y=(k*x)/(x-k);
        			if((k*x)%(x-k)==0) {
        			    printf("1/%d=1/%d+1/%d\n",k,y,x);
        			}
        		}
        	}
        }
        
        • 0
          @ 2025-9-13 21:55:15

          属于是屎山代码了😅

          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
          
          • 0
            @ 2024-11-22 16:06:04

            #include<stdio.h>

            int main(){ int n; scanf("%d",&n); while(n--){ int x; scanf("%d",&x); for(int i=x+1;i<=2x;i++){ for(int k=i;k<ii;k++){ if(1/(x1.0)==(i+k)/(ik*1.0)){ printf("1/%d=1/%d+1/%d\n",x,k,i); } } } } return 0; }

            • -1
              @ 2023-10-6 23:00:45
              #include <stdio.h>
              int main() {
              	int n;
              	scanf("%d",&n);
              	while(n--) {
                      int k,x,j;
              		scanf("%d",&k);
                      for(x=k+1;x<=2*k;x++){
                          j=k*x/(x-k);
                          if(j*x==k*x+k*j){
                          printf("1/%d=1/%d+1/%d",k,j,x);
                          printf("\n");
                          }
                      }	
              	}
              	return 0;
              }
              
              
              • @ 2025-1-11 12:29:52

                果然除法会导致小数,而乘法才能避免这个问题

            • 1

            信息

            ID
            145
            时间
            3000ms
            内存
            128MiB
            难度
            5
            标签
            (无)
            递交数
            724
            已通过
            288
            上传者