题目链接:点击打开链接
题意:给了你一个公式,n片纸的长度 =1/2+1/3+...+1/n+1,求给一个c(0.01~5.20)长度的最少纸片数。
给列公式就行了,c=5.20的时候n=276吧maxn设276左右
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=280;
double a[maxn];
int main()
{
int i;
double n;
double sum=0.0;
for(i=1;i<maxn;i++)
{
sum+=1.0/(i+1);
a[i]=sum;
}
while(scanf("%lf",&n)&&n!=0)
{
for(i=1;i<maxn;i++)
if(a[i]>=n){cout<<i<<" card(s)"<<endl;break;}
}
return 0;
}