题目链接:点击打开链接
题意:给了你一个公式,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;
}
本文介绍了一种通过公式计算特定长度所需最少纸片数量的方法。给出的公式为n片纸的长度等于1/2+1/3+...+1/n+1,并提供了一个C++程序实现,用于求解给定长度c时所需的最少纸片数n。

被折叠的 条评论
为什么被折叠?



