Showing posts with label Computational Mathematics. Show all posts
Showing posts with label Computational Mathematics. Show all posts

Sunday, 24 March 2019

FERMATS LITTLE THEOREM

import java.math.*;
import java.io.*;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
   Scanner s = new Scanner(System.in);
    System.out.println("Enter a prime number");
    BigInteger a=new BigInteger(s.next());
    System.out.println("Enter a number which is co prime of above number");
    BigInteger b=new BigInteger(s.next());
    if((a.gcd(b)).intValue()==1){
        System.out.println(b.modPow(BigInteger.valueOf(a.intValue()-2),a));
        
    }
    else{
        System.out.println("Invalid input");
    }

}
}

Thursday, 30 November 2017

GAUSS SEIDEL METHOD USING C PROGRAM

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n,i,j,k,s=1;
printf("enter number of variales");
scanf("%d",&n);
float a[n][n];
float  b[n];
float x[n]={0},var,itr,temp,temp1;
printf("enter approx");
scanf("%f",&itr);
for(i=0;i<n;i++)
{
printf("enter element at b[%d]",i);
scanf("%f",&b[i]);

for(j=0;j<n;j++)
{
printf("enter element at a[%d][%d]",i,j);
scanf("%f",&a[i][j]);
}
}
do
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i!=j)
{
var+=a[i][j]*x[j];
}
}
temp1=(1/a[i][i])*(b[i]-var);
var=0;
printf("initial %f\n",x[i]);
temp=fabs(temp1-x[i]);
x[i]=temp1;
temp1=0;
}
}while((temp>itr));

for(i=0;i<n;i++)
{
printf(" x%d=%f\t",i,x[i]);
}

return 0;
}

GAUSS JACOBI METHOD USING C PROGRAM

//gauss jacobi
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n,i,j,k,s=1;
printf("enter number of variales");
scanf("%d",&n);
float a[n][n];
float  b[n];
float x[n]={0},x1[n]={0},var,itr,temp,temp1;
printf("enter approx");
scanf("%f",&itr);
for(i=0;i<n;i++)
{
printf("enter element at b[%d]",i);
scanf("%f",&b[i]);

for(j=0;j<n;j++)
{
printf("enter element at a[%d][%d]",i,j);
scanf("%f",&a[i][j]);
}
}
do
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i!=j)
{
var+=a[i][j]*x1[j];
}
}
x[i]=(1/a[i][i])*(b[i]-var);
var=0;
printf("initial %f\n",x[i]);
temp=fabs(x[i]-x1[i]);
}
for(i=0;i<n;i++)
{
x1[i]=x[i];
}
}while((temp>itr));
for(i=0;i<n;i++)
{
printf(" x%d=%f\t",i,x[i]);
}

return 0;
}

EULER MODIFIED METHOD USING C PROGRAM

#include<stdio.h>
#include<math.h>
float fun(float x,float y)
{
float f;
f=x*x+y;
return f;
}
int main()
{
float diff,y0,y,x0,x1,h,xn,y1,y2;
printf("enter x0,y0,h,xn\n");
scanf("%f%f%f%f",&x0,&y0,&h,&xn);
do
{
  y=y0+h*(fun(x0,y0));
  x1=x0+h;
  do
  {
  y2=y;
  y1=y0+(h/2)*(fun(x0,y0)+fun(x1,y));
  y=y1;
  diff=y1-y2;
  //printf("%f\n",y1-y2);
  }while(fabs(diff)>0.000001);
  y0=y1;
  x0=x0+h;
  printf("x=%f \t y=%f\n",x0,y1);
}while(x0<xn);
return 0;

}

RANGE KUTTA METHOD USING C PROGRAM

#include<stdio.h>
#include<math.h>
float fun(float x,float y)
{
float f;
f=x+(y*y);
return f;
}
int main()
{
float x0,y0,xn,h,y,k1,k2,k3,k4,k,x;
printf("enter x0,y0,h,xn\n");
scanf("%f%f%f%f",&x,&y,&h,&xn);
do
{
k1=h*fun(x,y);
k2=h*fun(x+h/2,y+(k1/2));
k3=h*fun(x+h/2,y+(k2/2));
k4=h*fun(x+h,y+k3);
k=(1/6)*(k1+2*(k2+k3)+k4);
y0=y+k;
printf("%f\n",y);
x=x+h;
y=y0;
}while(x<xn);

return 0;

}

NEWTON BACKWARD INTERPOLATION USING C PROGRAM

#include<stdio.h>
int main()
{
int n;
printf("enter size");
scanf("%d",&n);
float ax[n];
float ay[n];
int i,j;
for(i=0;i<n;i++)
{
printf("enter ax[%d]\n",i);
scanf("%f",&ax[i]);
printf("enter ay[%d]\n",i);
scanf("%f",&ay[i]);
}
float d;
printf("enter intermediate value of x");
scanf("%f",&d);
float y=1,p;
p=(d-ax[n-1])/(ax[1]-ax[0]);
float a[n][n];
for(i=0;i<n;i++)
{
a[i][0]=ay[i];
}
for(i=1;i<n;i++)
{
for(j=0;j<n;j++)
{
a[j][i]=a[j+1][i-1]-a[j][i-1];
}
}
float g=ay[n-1];
for(i=1;i<n;i++)
{
y=(y*(p+i-1))/i;
g=g+(y*a[n-i-1][i]);
}
printf("value of y=%f ",g);
return 0;
}

Friday, 24 February 2017

C PROGRAM GAUSS FORWARD

GAUSS FORWRD INTERPOLATION
#include<stdio.h>
int main()
{
int n;
printf("enter size");
scanf("%d",&n);
float ax[n];
float ay[n];
int i,j;
for(i=0;i<n;i++)
{
printf("enter ax[%d]\n",i);
scanf("%f",&ax[i]);
printf("enter ay[%d]\n",i);
scanf("%f",&ay[i]);
}
float d,m,q;
int r=0;
printf("enter intermediate value of x");
scanf("%f",&d);
r=0;
do
{
r++;
}while(ax[r]<d);
r--;
m=ax [r];
float y=1,p;
p=(d-m)/(ax[1]-ax[0]);
printf("%f\n",p);
float a[n][n];
for(i=0;i<n;i++)
{
a[i][0]=ay[i];
}
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
a[j][i]=a[j+1][i-1]-a[j][i-1];
}
}
for(i=0;i<n;i++)
{
printf(" %f ",ax[i]);
for(j=0;j<n-i;j++)
{
printf(" %f ",a[i][j]);
}
printf("\n");
}
float g=ay[r];
int c=1,h=1;
for(i=1;i<n;i++)
{
     if(i==1)
{
y=(y*(p-i+1))/i;
g=g+(y*a[r-i][i]);
printf("%f\n",g);
}
else if(i%2==0)
{
y=(y*(p+i-1))/i;
g=g+(y*a[r-h][i]);
printf("%f\n",g);
}
else
{
y=(y*(p-i-1))/i;
g=g+(y*a[r-h][i]);
h++;
printf("%f\n",g);
}
}
printf("value of y=%f ",g);
return 0;
}

FERMATS LITTLE THEOREM

import java.math.*; import java.io.*; import java.util.Scanner; public class Main { public static void main(String[] args) {    Sca...