已知:Sn = 1 + 1/2 + 1/3 + … + 1/n。显然对于任意一个整数K,当n足够
已知:Sn=1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。 现给出一个整数K(1<=...
已知:Sn = 1 + 1/2 + 1/3 + … + 1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1 <= K <= 15),要求计算出一个最小的n,使得Sn > K。
用C语言实现 展开
现给出一个整数K(1 <= K <= 15),要求计算出一个最小的n,使得Sn > K。
用C语言实现 展开
6个回答
展开全部
#include <iostream>
using namespace std;
int main()
{
int i,n;
double s=0.0,k;
cin>>k;
for(i=1.0;s<=k;i++)
{
s=s+1.0/i;
n=i;
}
cout<<n<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int n=0;
double Sn=0,k;
printf("输入k值:");
scanf("%lf", &k);
if (k <= 15 && k >= 1);
{
for (n; Sn <= k; ++n, Sn += 1.0/ n);
printf("%d", n);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{
int i=1,j,flag=-1;
double pi=0,x=0;
do
{
flag=flag*(-1);
x=(double)(1)/(2*i-1);
pi=pi+x*flag;
i++;
}
while(x>=0.000001);
cout<<endl<<pi*4;
return 0;
}
using namespace std;
int main()
{
int i=1,j,flag=-1;
double pi=0,x=0;
do
{
flag=flag*(-1);
x=(double)(1)/(2*i-1);
pi=pi+x*flag;
i++;
}
while(x>=0.000001);
cout<<endl<<pi*4;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用flczzhang的回答:
#include <stdio.h>int main(){ double s = 0; int i; int k; scanf("%d",&k); for(i = 1; ; i ++) { s+=1.0/i; if(s>=k)break; } printf("%d\n", i); return 0;}
#include <stdio.h>int main(){ double s = 0; int i; int k; scanf("%d",&k); for(i = 1; ; i ++) { s+=1.0/i; if(s>=k)break; } printf("%d\n", i); return 0;}
展开全部
错了,应该是:
#include <stdio.h>
int main()
{
double s = 0;
int i;
int k;
scanf("%d",&k);
for(i=1;;i++)
{
s+=1.0/i;
if(s>k)break;
}
printf("%d\n", i);
return 0;
}
#include <stdio.h>
int main()
{
double s = 0;
int i;
int k;
scanf("%d",&k);
for(i=1;;i++)
{
s+=1.0/i;
if(s>k)break;
}
printf("%d\n", i);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询