#include<iostream>
using namespace std;
int main(){
double s=0;
double p=1;
int n;
cin>>n;
for(int i=1 ; i<=n ; i++){
for(int j=1 ; j<=i; j++){
p=p*(1/i);
}
s=s+p;
p=1;
}
cout<<s;
return 0;
}
我应该计算总和:(1/1)^ 1 +(1/2)^ 2 + ... +(1 / n)^ n。 但也许我的逻辑错了,因为程序返回数字1。
答案 0 :(得分:1)
你正在进行积分除法,分子为double
使用:
p = p* ( 1.0/i );