牛牛准备继续进阶,计算更难的数列
输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...((-1)^(n-1))*(2n-1))的值
#include<stdio.h> #include<math.h> //int abs(int x) 返回x的绝对值 int main() { int n,j,denominator=1; //分母 double sum=1; scanf("%d",&n); if(n==1) printf("1.000"); else { for( j=3 ; j<=(2*n-1) ; j=j+2 ) { denominator=denominator-abs(denominator)/denominator*j; sum=sum+1.0/denominator; } printf("%.3lf\n",sum); } return 0; }
#include <stdio.h> #include <math.h> int main(){ int n = 0; double sum_1, sum = 0.0; scanf("%d", &n); for(int i = 1; i <= n ; i++){ sum_1 += pow(-1, i-1) * (2 * i - 1); sum += 1.0 / sum_1; } printf("%.3lf", sum); return 0; }
#include <stdio.h> //输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...((-1)^(n-1))*(2n-1))的值 //1 1-1/3 1-1/3+1/5...1-1/3+1/5-... int main() { int n = 0; scanf("%d", &n); int tmp = 0; double sum = 0; int flag=1; for (int i = 1; i <= n; i++) { tmp += flag * (2 * i - 1); sum += 1.0 / tmp; flag = -flag; } printf("%.3lf\n", sum); return 0; }
#include <stdio.h> #include <math.h> int main() { double sum = 0, tempSum = 0; int n; while (scanf("%d", &n) != EOF) { for (int i = 1; i <= n; i++) { tempSum += pow((-1), (i - 1)) * (2 * i - 1); // 先把分母求和 sum += 1.0 / tempSum; } } printf("%.3lf\n", sum); return 0; }
#include <stdio.h> //分析 //分子每次都为一 //分母每次都会+- int main() { int n =0; int flag = -1; int num =0; double sum =0; scanf("%d", &n); int i = 0; for(i = 1;i <= n;i++) //生成n个数 { // int j =0; // for(j =1; j<=2*i-1;j+=2) //分母每次变化2 // { // num +=flag*j; //分母的值 // sum +=1.0/num; //每一次生成的值 // flag =-flag; //判定正负号 // } // flag = -flag; // num +=flag *i; // sum +=1.0/num; if(i%2==0) { sum -= 1.0/i; } else { sum += 1.0/i; } } printf("%.3lf\n",sum); return 0; }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); double sum =0.0; double den = 0.0; int f = 1; for(double i =1.0;i<=a ;i++) { den+=f*(2*i-1); sum+= 1/den; f=-f; } System.out.println(String.format("%.3f",sum)); } } }
package main import ( "fmt" ) func main() { var n int fmt.Scan(&n) if n == 1 { fmt.Printf("%.3f", 1.000) return } var ans float64 = 1.0 d, cur, t := 1.0, 1.0, -1.0 for i := 2; i <= n; i++ { cur += 2 d += cur * t t *= -1 ans += 1.0 / d } fmt.Printf("%.3f", ans) }
//BC85 牛牛学数列3 #include "stdio.h" #include "math.h" int main(){ double n; scanf("%lf",&n); double denominator = 0;//分母 double i; double sum = 0; for(i=1;i<=n;i++){ denominator +=pow((-1),(i-1)) * ((2*i)-1); sum += (1.0) / denominator; } printf("%.3f",sum); return 0; }