diff --git a/bit wise calculation of a power b.c b/bit wise calculation of a power b.c new file mode 100644 index 0000000..1508a04 --- /dev/null +++ b/bit wise calculation of a power b.c @@ -0,0 +1,24 @@ +#include +int main() +{ + int a,b,mod,result=1; + scanf("%d %d %d",&a,&b,&mod); + int bit=8*sizeof(b); + + for(int i=0;i>=1; + + printf("%d:no. of iletrations\n",i); + printf("result:%d\n",result); + } + printf("%d\n",result); + return 0; +} + diff --git a/large factorial.c b/large factorial.c new file mode 100644 index 0000000..d5aa3c5 --- /dev/null +++ b/large factorial.c @@ -0,0 +1,68 @@ +// C++ program to compute factorial of big numbers +#include +using namespace std; + +// Maximum number of digits in output +#define MAX 500 + +int multiply(int x, int res[], int res_size); + +// This function finds factorial of large numbers +// and prints them +void factorial(int n) +{ + int res[MAX]; + + // Initialize result + res[0] = 1; + int res_size = 1; + + // Apply simple factorial formula n! = 1 * 2 * 3 * 4...*n + for (int x=2; x<=n; x++) + res_size = multiply(x, res, res_size); + + cout << "Factorial of given number is \n"; + for (int i=res_size-1; i>=0; i--) + cout << res[i]; +} + +// This function multiplies x with the number +// represented by res[]. +// res_size is size of res[] or number of digits in the +// number represented by res[]. This function uses simple +// school mathematics for multiplication. +// This function may value of res_size and returns the +// new value of res_size +int multiply(int x, int res[], int res_size) +{ + int carry = 0; // Initialize carry + + // One by one multiply n with individual digits of res[] + for (int i=0; i