这个主要是靠你自己退出来范围,要是盲目的算,你是一点思路都没有的.,..
一般涉及到这种带有不等号的题目,都会涉及到范围的,,
诶诶诶诶,
今天就不写了,,,想去看书了,,好想看沉思录,,
刚才顺便扫了一眼电视,,,那个叫什么梨花嫂的...呜呜.
老天呀,为什么年轻的时候你不让我们在一起,老了的20年却让我们在一起,,,
诶诶诶, 感情这事呀..
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <iostream>
#include <string>
using namespace std;
int x[11111];
int y[11111];
int main()
{
int k;
cout << ceil(2.0000000) << endl;
while (scanf("%d", &k) != EOF)
{
int cnt = 0;
for (int i = k + 1; i <= 2 * k; i++)
{
double ans = (k * i) * 1.0/ (i - k) * 1.0;// 晕死了都,这个错的我真的都不想活了呀,,,呜呜呜
//不是 判断一个数是不是整数的错了,,,原来是因为,double类型的除法错了,,,晕死了
//我就还是不长心,double类型的除法,是不能用整数做除数,被除数的,只能用double类型的.
if ((int )ans == ans)
{
// printf("ans = %lf\n", ans);
x[cnt] = (int )ans;
y[cnt++] = i;
}
}
cout << cnt << endl;
for (int i = 0; i < cnt; i++)
{
printf("1/%d = 1 / %d + 1 / %d\n", k, x[i], y[i]);
}
}
system("pause");
return 0;
}