- 论坛徽章:
- 0
|
#include <stdio.h>
int main(int argc, char **argv)
{
int i = 1, j = 1000, k = 1, t;
while (i < j)
{
t = k + 1;
i = i * (t / k) + 1;
j = j + 1000;
++k;
}
printf("%d\n", k);
}
输出: 2073
改成float可以得到更精确的结果, t / k误差太大
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
float i = 1, j = 1000;
int k = 1;
while (i < j)
{
i = i * ((k + 1) / k) + 1;
j = j + 1000;
++k;
}
cout << k << endl;
getchar();
return 0;
}
输出:4293783
[ 本帖最后由 sesame0816 于 2007-10-7 09:16 编辑 ] |
|