一個簡單的暴力法
重點:將運算式作調整,可得 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;
}
沒有留言:
發佈留言