函数fun是根据输入n,求下面分母为n以内(包含n)的素数构成的数列的和 :s=1/2-2/3+3/5-4/7+5/11-...,输入10,输出:-0.138095。
要求在fun函数的注释语句之间编写程序,其它部分不得增删语句。
#include<stdio.h>
#include<stdlib.h>
double fun(int n)
{
}
int main()
{
int n;
double s,x;
FILE *in,*out;
printf("输入n:");
scanf("%d",&n);
s=fun(n);
printf("%lf\n",s);
in=fopen("in2019-2-1-2.dat","r");
out=fopen("out2019-2-1-2.dat","w");
while(!feof(in))
{
fscanf(in,"%d",&n);
fprintf(out,"%lf\n",fun(n));
}
system("pause");
return 0;
具体代码和运行结果,如有帮助请采纳!谢谢!
#include<vector>
double function1(int n)
{
vector<int>vec;
for(int i=2;i<=n;++i)
{
int count = 0;
for(int j=2;j<i;++j)
{
if(i%j==0)
{
++count;
break;
}
}
if(count==0)
vec.push_back(i);
}
int len = vec.size();
double sum = 0.0;
for(int i=0;i<len;++i)
{
if(i%2==0)
sum += ((i+1)*1.0/vec[i]);
else
sum -= ((i+1)*1.0/vec[i]);
}
return sum;
}