Assignment Factorial and Power

Assignment: Factorial and Power

This assignment is to help you review C-programming for Numerical Programming.

==Do NOT use Chat-GPT and online materials. You can do it by yourself==.


Problem

Q1. Create power(x,N) function that returns

double power(double x, int N);

Q2. Create factorial(x) function that returns

double factorial(int x);

Hint


Preparation

You must complete the following tutorials first.

(1) Prepare NP Workspace

(2) Install VS Community

Process

  1. Create a new project “ Assignment_powerNfactorial” with Visual Studio Community.

    It should be under the designated folder of \NP\assignment\

    C:\Users\UserName\source\repos\NP\assignment\Assignment_powerNfactorial\

  2. Create a new source file and name it as “Assignment_powerNfactorial_yourName.cpp”

  3. Copy the source code below or from this link: Assignment_powerNfactorial_student.cpp

  4. Fill in the definitions of power() and factorial()

  5. Run the code and check the answers

  6. Capture the output window and paste in the report

Submit

(1) Report: “Assignment_powerNfactorial_yourName.pdf”

(2) Source code

  • submit only “Assignment_powerNfactorial_yourName.cpp”


Code

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


double factorial(int _x);
double power(double _x, int N);

int main(int argc, char* argv[])
{

	double x = 2.5;
	int N = 5;
	double y1 = 1;
	double y2 = 1;

	y1 = power(x, N);
	y2 = factorial(N);


	printf("\n\n");
	printf("=======================================\n");
	printf("    power(%f,%d ) Calculation   \n", x, N);
	printf("=======================================\n");
	printf("   -  My     result = %3.12f    \n", y1);
	printf("   -  Math.h result = %3.12f    \n", pow(x, N));
	printf("   -  absolute err. = %3.12f    \n", y1 - pow(x, N));
	printf("=======================================\n");

	printf("\n\n");
	printf("=======================================\n");
	printf("    factorial( %d) Calculation   \n", N);
	printf("=======================================\n");
	printf("   -  My     result = %.0f    \n", y2);
	printf("=======================================\n");


	system("pause");
	return 0;
}


// power fuction
double power(double x, int N)
{
	// [TODO] add your algorithm here
	// [TODO] add your algorithm here

	return y;
}


// factorial function
double factorial(int N)
{
	double y = 1;
	for (int k = 2; k <= N; k++)
		// [TODO] add your algorithm here
	
	return y;
}

Last updated