double sum =0; for (int i =2; i <=50; i+=2) { sum += 1.0 / i; } Console.WriteLine(sum); Console.ReadKey();个人理解,错误,还望高手点出!
double sum =1.0; //这里写错了 for (int i =2; i <=50; i+=2) { sum += 1.0 / i; } Console.WriteLine(sum); Console.ReadKey();呵呵
decimal sum = 0; for (int i = 1; i <= 50; i+=2) { sum +=Math.Round((decimal)(1m / i),20); } Console.WriteLine(sum); Console.ReadKey(); //2.59122624945267162299 精确到20的小数。
decimal sum =0; for (int i = 1; i <26; i++) { sum +=Math.Round((decimal)(1m /i),20); } sum = (sum * 0.5m)+1; Console.WriteLine(sum); Console.ReadKey(); //刚才有错,不应该自加二,应该改为内部乘以2。为了提高运算效率,该处修改为 结果越等于2.90797908887675343457
//1+1/2+1/4+.....1/50之和? double sum = 1.0; for (int i = 1; i <= 50; i++) { if (i % 2 != 0) continue;
sum += Math.Round((double)(1m / i), 10);//10为小数点位数 } MessageBox.Show(sum.ToString());
for(int i=1;i<=50;i++)
{
sum+=1/i;
}
ConSole.WriteLine(sum);
ConSole.ReadLine();
{
sum +=1/i;
} Response.Write(sum);
改成 sum+=1.0/i;
for(int i=1;i<=25;i++){sum+=1/(i*2);}
double temp = 1.0;
for (float i = 1; i < 26;i+=1)
{
temp += 1 / (i * 2);
}
for (double i = 2; i <= 50; i=i+2)
{
sum += 1 / i;
}
Console.WriteLine(sum);
for (int i = 0; i <= 24; i++)
{
a += 1.0 / (2 * i + 2);
}
for (int i = 1; i < 26;i++)
{
temp += 1.0 / (i * 2);
}
// 1 + 1/2 + 1/4 + 1/6 + ...... + 1/50
// = 1 + 1/2 * (1 + 1/2 + 1/3 + 1/4 + ...... + 1/25)// 1 + 1/2 + 1/3 + 1/4 + ...... + 1/n 为欧拉公式,其和为 ln(n) + C
// C 为常量:0.57721566490153286060651209
// 所以,此欧拉公式为:ln(25) + 0.5772...
// 整个算式就约等于:2.8980
for (int i =2; i <=50; i+=2)
{
sum += 1.0 / i;
}
Console.WriteLine(sum);
Console.ReadKey();个人理解,错误,还望高手点出!
for (int i =2; i <=50; i+=2)
{
sum += 1.0 / i;
}
Console.WriteLine(sum);
Console.ReadKey();呵呵
for (int i = 1; i <= 50; i+=2)
{
sum +=Math.Round((decimal)(1m / i),20);
}
Console.WriteLine(sum);
Console.ReadKey(); //2.59122624945267162299 精确到20的小数。
for (int i = 1; i <26; i++)
{
sum +=Math.Round((decimal)(1m /i),20);
}
sum = (sum * 0.5m)+1;
Console.WriteLine(sum);
Console.ReadKey(); //刚才有错,不应该自加二,应该改为内部乘以2。为了提高运算效率,该处修改为 结果越等于2.90797908887675343457
double sum = 1.0;
for (int i = 1; i <= 50; i++)
{
if (i % 2 != 0)
continue;
sum += Math.Round((double)(1m / i), 10);//10为小数点位数 }
MessageBox.Show(sum.ToString());