这几天没什么技术上的进步,全是思维上的升华就比如说求1+1/2+1/3+.........+1/n这样的题目
我原来是这样
#include<stdio.h>
int main()
{
int two_sum(int x ,int y);
int n,z;
scanf("%d",&n);
z=two_sum(n,0);
printf("%d",z);
return 0;
}
int two_sum(int x ,int y)
{
int N,k;
k=1;
N=1;
while(y<x)
{
y+=(1/N);
N++;
k++;
}
return (k);
}
没什么用处,只能带个1进去,久久不得答案,还是请教了别人才知道要double类型才能继续运算
就像这样
#include<stdio.h>
int main()
{
double n;
scanf("%lf",&n);
double s;
int k;
k=0;
s=1;
double y=0;
if(n<=1)
k=2;
else
{
while(y<n)
{
y+=(1/s);
s++;
k++;
}
}
printf("%d",k);
return 0;
}
有的时候思维上的进步好像更为重要啊,不管了,还是继续努力吧!