CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip> 
//defining a function for getting the reciprocal of a digit
float reciprocal(float& n){
    float a=1.000000/(float(n));
    return a;
}
main_program{
    int n;
    float series=0; //final answer is saved in series variable
    cin>>n;
    float l=0;
    for (int i=2;i<=n; i++){
        //loop for factorial calculation
        for (int j=2; j<=i; j++){
            l+=log10(j);
        }
        int k=pow((-1),(i+1));
        float m=pow(10,l); //antilog calculation
        series+=(reciprocal(m))*k;
        l=0;
    }
    series=series+1;
    std::cout << std::setprecision(6) << std::fixed << series;
}

Grading criterion: Alternating signs
Rating A: correctly changes the sign +ve to -ve and vice versa
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include <simplecpp>
#include <iomanip>


main_program{ double u=1,j=2; double sum=0; double t=1; int n;
cin>>n;
    while(u<=n)
    {
        t=(abs(t)*pow(-1,j))/u;
        sum=sum + t;
        u++;
        j++;
    }
std::cout<<std::setprecision(6)<<std::fixed<<sum;
}

Grading criterion: Alternating signs
Rating A: correctly changes the sign +ve to -ve and vice versa
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
using namespace std;
main_program {
        int n;
        cin >> n;
        int sign = 1;
         double sum = 0;
         int fact = 1;
        for (int i=1; i<=n; i++){
            fact = fact*i;
            sum = sum + sign*(1/double(fact));
            sign = -sign;
        }
        cout << setprecision(6) << fixed << sum << endl;
    }

Grading criterion: Alternating signs
Rating A: correctly changes the sign +ve to -ve and vice versa
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
int f(int d){
    int b=1;
    repeat(d){
        b=b*d;
        d=d-1;
    }
    return b;
}
main_program{
    int n;
    float k;
    cin >> n;
    float r=0;
    int d=1;
    repeat(n){
        int c=f(d);
        if(d%2==0){
            k=-1;
        }
        else if(d%2!=0){
            k=1;
        }
        r = r + k/c;
        d++;
    }
    std::cout<<std::setprecision(6)<<std::fixed<<r;

}

Grading criterion: Alternating signs
Rating A: correctly changes the sign +ve to -ve and vice versa
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
main_program{
    int n;
    double term=1.0;
    double sum=1.0;
    for(int i=2;i<=n;i++){
          sum=sum+term*(-1)/i;
        term=term*(-1)/i;
        i++;}
    
    cout<<sum<<endl;
}

Grading criterion: Alternating signs
Rating A: correctly changes the sign +ve to -ve and vice versa
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
#include<cmath>
main_program{
    int n;
    float c=1;
    float q;
    float r;
    
    int t=1;
    cin>>n;
    float x=1;
    float p=0;
    while(x<=n){
    while(t<=x){

            c=c*t;
            t++;
        }
         
         q=pow(-1,x+1);
         
         r=1/c;
        p=p+q*r;
        x++;
    }
    std::cout<< std::setprecision(6)<<std::fixed<<p;
}

Grading criterion: Alternating signs
Rating A: correctly changes the sign +ve to -ve and vice versa
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include <iomanip>
#include <simplecpp>
main_program{
    float N;
    cin >> N;
    float ans=0;
    float fac=1.0;
    for (int i=1; i<=N; i++) {
        for(int j=1; j<=i; j++) {
        fac*=j;
    }
    if(i%2==1)
    ans=ans+1/(fac);
    else
    ans=ans-1/(fac);
    fac=1;
    }
    std::cout << std::setprecision(6)<<std::fixed << ans;
}

Grading criterion: Alternating signs
Rating A: correctly changes the sign +ve to -ve and vice versa
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
int factorial(int n){
    int fact=1;
    for(int i=2;i<=n;i++){
        fact=fact*i;
    }
    return fact;
}
float print(int n){
    float  sum=0;
    for(int j=1;j<=n;j++){
         sum=sum+pow(-1,j-1)*(1/float(factorial(j)));
        }
        return sum;
}
int main(){
    int N;
    cin>>N;
    float sum=print(N);
   std::cout << std::setprecision(6) << std::fixed <<sum;
    }

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
main_program
{
    int n;
    float sum=0,factorial=1;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        factorial*=i;
        if(i%2!=0)
        {
            sum=sum+(1/factorial);
        }
        else
        {
            sum=sum-(1/factorial);
        }
    }
    cout<<sum;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include <simplecpp>
#include <iomanip>

int fac(int x){
    int res=1;
    for(int i=1; i<=x; i++){
        res = res*i;
    }
    return res;
}

main_program{
    int n;
    float res=0;
    
    cin >> n;

    for(int i=1; i<=n; i++){
        res = res + (pow(-1, i+1)*(1.0/fac(i)));
    }

    std::cout << std::setprecision(6) << std::fixed << res;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
main_program{
    int n;
    cin >> n;
    float ans = 0 ;
    for( int i=1 ; i<=n ; i++){
        float b =1;
        for(int j=2 ; j<=i ; j++){
             b= b*j;
        } 
        if (i%2==0)
        ans=-1/b +ans ;
        else 
        ans =1/b + ans ;
    }
std::cout <<std::setprecision(6) << std::fixed << ans << endl;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
main_program{
    int n; int i=1; int a=1;
    cin >> n;
    double sum;
    while(i<=n){
        a=a*i;
        sum=sum-(pow(-1,i)/a);
        i=i+1;
    }
    cout << fixed << setprecision(6)<<sum;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
int fact(int x){
    int c=1;
    for(int j=2;j<=x;j++)
      {c=c*j;}
      return c;
}
main_program{
    int n;float a,b=0,c,d=-1;
    cin>>n;
    for(int i=2;i<=n;i++){
        a=(1/fact(i));
        b=b+a;
    }
    c=1-b;
    cout<<c;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include <iomanip>
float fact(int a){
    float fact=1;
    for(float i=1; i<=a;i++)
    {fact = fact*i;}
    return fact;
}
main_program{
    float n;
    cin>>n;
    float sum=0;
    for(float i=1; i<=n; i++)
    {sum=sum+(pow(-1,i-1)*(1/fact(i)));}
    std::cout<<std::setprecision(6)<<std::fixed<<sum;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>


int fact(int n){
    int x,fac;
    x=2;
    fac=1;
    while(x<=n){
        fac*=x;
        x++;
    }
    return fac;
}

main_program{
    int n,e,o;
    std::cin>>n;

    double ans,x,y;

    for(e=2;e<=n;e=e+2){
        double m;
        m= fact(e);
            x=x+(1/m);
    }
    
    for(o=1;o<=n;o=o+2){
        double n;
        n=fact(o);
            y=y+(1/n); 
    }
   
   ans=y-x;
   std::cout<<std::setprecision(6)<<std::fixed<<ans;



}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
float fact(float n){
    float mul = 1;
    int count = 1;
    repeat(n){
        mul = mul*count;
        count = count + 1;
    }
    return mul;
}
main_program{
    float n;
    bool one = true;
    float sum = 0;
    int count = 1;
    cin >> n;
    repeat(n){
        if(one){
            sum = sum + 1/(fact(count));
            count = count + 1;
        }else{
            sum = sum - 1/(fact(count));
            count = count + 1;
        }
        one = !one;
    }
    std::cout << std::setprecision(6) << std::fixed << sum;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include <simplecpp>
#include<iomanip>
main_program{
    double n,r=1,t=1,sum=0;
    cin >> n;
    while (r<(n+1)){
        t= t*(-1/r);
        sum = sum+t;
        r++;
    }
    cout << std::setprecision(6)<< sum*(-1);
    }

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>

float f(float n){
    float z=1;
    for(float i=0; i<n; i++){
        z*=(n-i);
    }
    return z;
}

main_program{
    int n;
    cin>>n;

    float s=0;
    float p=1;

    for(float i=0; i<n; i++, p*=-1){
        s+= ((1/( f(i+1) ))*p); 
    }
cout<<std::setprecision(6)<<std::fixed<<s;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A
Problem: You are given an infinite alternating series:
1-1/2!+1/3!-1/4!+1/5!  ... 
Your task is to compute the sum of the first N terms of this series. The series alternates in sign, with each term involving the reciprocal of a factorial.

Example: If n = 1, the n terms of the series is just 1. Hence, answer is 1.000000

Input Format: A single positive integer N where 1 ≤ N ≤ 15.

Output Format
	A single floating-point number representing the sum of the first N terms of the series, rounded to exactly 6 decimal places. 
	To print exactly six digits after the decimal point, write std::cout << std::setprecision(6) << std::fixed << ans;. Here we assume that the answer is stored in variable ans.

Student submission:
#include<simplecpp>
#include<iomanip>
using namespace std;
double factorial(double n){
    double f=1;
    for(int i=1;i<=n;i++){
        f=f*i;
    }
    return f;
}
main_program{
    double n;
    cin>>n;
    double ans=0;
    for(int i=1;i<=n;i++){
        ans=ans+(pow(-1,i-1)/factorial(i));
    }
    std::cout<<std::setprecision(6)<<std::fixed<<ans;
}

Grading criterion: Accumulating sum
Rating A: correctly keeps accumulating the sum of the series
Rating B: Some issue
Rating C: Major issue
Rating D: 0
Assigned grade: A