2015年6月30日星期二

[UVa] 10976 - Fractions Again?!

一個簡單的暴力法
重點:將運算式作調整,可得 y = x*k / (x-k)
x : k+1 -> 2*k ,尋找 (x*k) % (x-k) == 0 的狀況
存入堆疊後列出

#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <string.h>

int main(){
  int k;
  int note[10000][2];
  while(scanf("%d",&k)!=EOF){
    int total=0;
    memset(note,0,sizeof(note));
    for(int i=k+1;i<=2*k;i++){
      if((i*k)%(i-k)==0){
        note[total][0]=i;
        note[total][1]=(i*k)/(i-k);
        total++;
      }
    }
    printf("%d\n",total);
    for(int i=0;i<total;i++)
      printf("1/%d = 1/%d + 1/%d\n",k,note[i][1],note[i][0]);
  }
  return 0;
}

沒有留言: