Mathematics Function Examples
def round6(value)=round(value*10^6)/10^6;
def max(a,b){
if(a>=b){
return a;
}
else{
return b;
}
}
def min(a,b){
if(a<=b){
return a;
}
else{
return b;
}
}
def facorial(n)=n*factorial(n−1);
factorial(0)=1;
def fibonacci(n)=fibonacci(n−1)+fibonacci(n−2);
fibonacci(1)=1;
fibonacci(2)=1;
def isPrime(n){
if(n<=1){
return false;
}
var i=2;
while(i*i<=n){
if(n%i==0){
return false;
}
i=i+1;
}
return true;
}
def nthPrime(n){
var count=0;
var num=2;
while(count<n){
if(isPrime(num)){
count=count+1;
}
if(count==n){
return num;
}
num=num+1;
}
return num−1;
}
def det2(a,b,c,d){
return a*d−b*c;
}
def solveX2(a,b,c,d,m,n){
var det=det2(a,b,c,d);
if(det==0){
return -515151;
}
var detX=det2(m,b,n,d);
return detX/det;
}
def solveY2(a,b,c,d,m,n){
var det=det2(a,b,c,d);
if(det==0){
return -515151;
}
var detY=det2(a,m,c,n);
return detY/det;
}
def solve2(a,b,m,c,d,n,xy){
if(xy==1){
return solveX2(a,b,c,d,m,n);
}
else{
return solveY2(a,b,c,d,m,n);
}
}
def det3(a1,b1,c1,a2,b2,c2,a3,b3,c3)=a1*(b2*c3−c2*b3)−b1*(a2*c3−c2*a3)+c1*(a2*b3−b2*a3);
def solveX3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3){
var det=det3(a1,b1,c1,a2,b2,c2,a3,b3,c3);
if(det==0){
return -515151;
}
var detX=det3(d1,b1,c1,d2,b2,c2,d3,b3,c3);
return detX/det;
}
def solveY3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3){
var det=det3(a1,b1,c1,a2,b2,c2,a3,b3,c3);
if(det==0){
return -515151;
}
var detY=det3(a1,d1,c1,a2,d2,c2,a3,d3,c3);
return detY/det;
}
def solveZ3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3){
var det=det3(a1,b1,c1,a2,b2,c2,a3,b3,c3);
if(det==0){
return -515151;
}
var detZ=det3(a1,b1,d1,a2,b2,d2,a3,b3,d3);
return detZ/det;
}
def solveFor3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,xyz){
if(xyz==1){
return solveX3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3);
}
if(xyz==2){
return solveY3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3);
}
return solveZ3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3);
}
def RiemannSum(a,b,c,start,end,n){
var Sn=0;
var delta=(end−start)/n;
var k=1;
while(k<=n){
var x=start+delta*(k−0.5);
var h=a*x*x+b*x+c;
var s=delta*abs(h);
Sn=Sn+s;
k=k+1;
}
return Sn;
}
def 이차방정식실근(a,b,c,선택,실허)=iSolveQuadraticAI(a,b,c,선택,실허);
def 이차방정식복소해(a,b,c,선택,실허)=iSolveQuadraticAI(a,b,c,선택,실허);
def 이원연립해(a,b,m,c,d,n,xy)=solve2(a,b,m,c,d,n,xy);
def 삼원연립해(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,xyz)=solveFor3(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,xyz);
def roundToPrecision(value){
var epsilon=0.0000001;
if(abs(value−round(value))<epsilon){
return round(value);
}
return value;
}
def solveQuadratic(a,b,c,xy){
var D=b*b−4*a*c;
if(D<0){
return -515151.515151;
}
var sqrtD=sqrt(D);
if(xy==1){
return (-b+sqrtD)/(2*a);
}
return (-b−sqrtD)/(2*a);
}
def GCD(a,b){
if(b==0){
return a;
}
return GCD(b,a%b);
}
def LCM(a,b){
if(a==0||b==0){
return 0;
}
return (a*b)/GCD(a,b);
}
def solveAxPlusBEqualsC(a,b,c)=(c−b)/a;
def solveABequalsCD(a,b,c,d){
var nom=d−b;
var denom=(a−b);
return nom/denom;
}
def iSolveQuadraticAI(a,b,c,x12,real){
if(a==0){
return -515151;
}
var D=b*b−4*a*c;
var sqrtD=sqrt(abs(D));
var realPart=-b/(2*a);
var imaginaryPart=sqrtD/(2*a);
if(D<0){
if(real==1){
return realPart;
}
if(x12==1){
return imaginaryPart;
}
return -imaginaryPart;
}
if(real!=1){
return 0;
}
if(x12==1){
return realPart+sqrtD/(2*a);
}
return realPart−sqrtD/(2*a);
}
def cubeEqNew(a,b,c,d,x123){
var A=b/a;
var B=c/a;
var C=d/a;
var Q=(A^2−3*B)/9;
var R=(2*A^3−9*A*B+27*C)/54;
var M=R^2−Q^3;
if(M<0){
var angle=R/sqrt(Q^3);
var theta=acos(angle);
var x1=-(2*sqrt(Q)*cos(theta/3))−A/3;
var x2=-(2*sqrt(Q)*cos((theta+2*pi)/3))−A/3;
var x3=-(2*sqrt(Q)*cos((theta−2*pi)/3))−A/3;
if(x123==1){
return round6(x1);
}
elseif(x123==2){
return round6(x2);
}
return round6(x3);
}
elseif(M>0){
var sign=R/abs(R);
var inner=abs(R)+sqrt(M);
var S=-sign*cbrt(inner);
var T=Q/S;
var x1=S+T−A/3;
var bb=A+x1;
var cc=-C/x1;
var D=bb^2−4*cc;
var x2=-515151.515151;
var x3=-515151.515151;
if(D>=0){
if(x123==1){
return round6(x1);
}
elseif(x123==2){
return round6((-bb+sqrt(D))/2);
}
return round6((-bb−sqrt(D))/2);
}
return round6(x1);
}
else{
return -515151.515151;
}
}
def atan2(y,x){
if(x>0){
return atan(y/x);
}
elseif(x<0&&y>=0){
return atan(y/x)+pi;
}
elseif(x<0&&y<0){
return atan(y/x)−pi;
}
elseif(x==0&&y>0){
return pi/2;
}
elseif(x==0&&y<0){
return -pi/2;
}
else{
return -515151.515151;
}
}
def complexAngleInDegrees(real,imag){
var angleInRadians=atan2(imag,real);
if(angleInRadians==-515151.515151){
return -515151.515151;
}
var angleInDegrees=toDegrees(angleInRadians);
return angleInDegrees;
}
def fibIter(n){
if(n<=2){
return 1;
}
var r;
var t;
var a=1;
var b=1;
var i=3;
while(i<=n){
r=a+b;
t=a;
a=r;
b=t;
i=i+1;
}
return r;
}
def K(num,n)=num*K(num,n−1)+1;
K(num,0)=1;
def sumOfPowersOf8(n)=8^n+sumOfPowersOf8(n−1);
sumOfPowersOf8(0)=1;
def sumOfPowersOfbase(base,n)=base^n+sumOfPowersOfbase(base,n−1);
sumOfPowersOfbase(밑수,0)=1;
def calculateSlope(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5){
var n=5;
var sumX=x1+x2+x3+x4+x5;
var sumY=y1+y2+y3+y4+y5;
var sumXY=(x1*y1)+(x2*y2)+(x3*y3)+(x4*y4)+(x5*y5);
var sumX2=(x1*x1)+(x2*x2)+(x3*x3)+(x4*x4)+(x5*x5);
var denominator=(n*sumX2)−(sumX*sumX);
var slope;
if(denominator==0){
return 0;
}
slope=((n*sumXY)−(sumX*sumY))/denominator;
return slope;
}
def calculateIntercept(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5){
var n=5;
var sumX=x1+x2+x3+x4+x5;
var sumY=y1+y2+y3+y4+y5;
var slope=calculateSlope(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5);
var intercept=(sumY−(slope*sumX))/n;
return intercept;
}
def 리만합(a,b,c,시작,끝,등분)=RiemannSum(a,b,c,시작,끝,등분);
def 복소좌표각(실수부분,허수부분)=complexAngleInDegrees(실수부분,허수부분);
def 삼차방정식근(a,b,c,d,x123)=cubeEqNew(a,b,c,d,x123);
def sumKK(n){
var result=0;
var k=1;
while(k<=n){
result=result+1/k^k;
k=k+1;
}
return result;
}
def RiemannSumForXX(start,end,n){
var Sn=0;
var delta=(end−start)/n;
var k=1;
while(k<=n){
var x=start+delta*(k−0.5);
var h=1/x^x;
var s=delta*h;
Sn=Sn+s;
k=k+1;
}
return Sn;
}
def roundNearInteger(x){
if(abs(x−round(x))<=0.0000000001){
return round(x);
}
return x;
}
def iSolveCubicAI(a1,b1,c1,d1,x123,real1,x0){
if(a1==0){
return -515151;
}
var x1=x0;
var tol1=0.000001;
var maxIter1=100;
var iter1=0;
while(iter1<maxIter1){
var f1=a1*x1*x1*x1+b1*x1*x1+c1*x1+d1;
var fPrime1=3*a1*x1*x1+2*b1*x1+c1;
if(abs(fPrime1)<tol1){
return -515151;
}
var xNew1=x1−f1/fPrime1;
if(abs(xNew1−x1)<tol1){
x1=xNew1;
break;
}
x1=xNew1;
iter1=iter1+1;
}
if(iter1==maxIter1){
return -515151;
}
var a2=a1;
var b2=b1+a1*x1;
var c2=c1+b1*x1+a1*x1*x1;
var D1=b2*b2−4*a2*c2;
var sqrtD1=sqrt(abs(D1));
var realPart1=-b2/(2*a2);
var imagPart1=sqrtD1/(2*a2);
var x2=0;
var x3=0;
var xReal2=0;
var xImag2=0;
var xReal3=0;
var xImag3=0;
if(D1>0){
x2=realPart1+imagPart1;
x3=realPart1−imagPart1;
}
elseif(D1==0){
x2=realPart1;
x3=realPart1;
}
else{
xReal2=realPart1;
xImag2=imagPart1;
xReal3=realPart1;
xImag3=-imagPart1;
}
if(x123==1){
if(real1==1){
return x1;
}
return 0;
}
if(D1>=0){
if(x123==2){
if(real1==1){
return x2;
}
return 0;
}
if(x123==3){
if(real1==1){
return x3;
}
return 0;
}
}
else{
if(x123==2){
if(real1==1){
return xReal2;
}
return xImag2;
}
if(x123==3){
if(real1==1){
return xReal3;
}
return xImag3;
}
}
return -515151;
}
def iSolveQuadratic(a,b,c,x12,real){
if(a==0){
return -515151;
}
var D=b*b−4*a*c;
var sqrtD=sqrt(abs(D));
if(D<0){
if(x12==1){
if(real==1){
return -b/(2*a);
}
else{
return sqrtD/(2*a);
}
}
else{
if(real==1){
return -b/(2*a);
}
else{
return -sqrtD/(2*a);
}
}
}
if(real!=1){
return 0;
}
if(x12==1){
return (-b+sqrtD)/(2*a);
}
return (-b−sqrtD)/(2*a);
}
def solveAxPlusBEqualsC(a,b,c)=(c−b)/a;
def solveABequalsCD(a,b,c,d){
var nom=d−b;
var denom=(a−b);
return nom/denom;
}
def LCM(a,b){
if(a==0||b==0){
return 0;
}
return (a*b)/GCD(a,b);
}
def GCD(a,b){
if(b==0){
return a;
}
return GCD(b,a%b);
}
def solveQuadratic(a,b,c,xy){
var D=b*b−4*a*c;
if(D<0){
return -515151.515151;
}
var sqrtD=sqrt(D);
if(xy==1){
return (-b+sqrtD)/(2*a);
}
return (-b−sqrtD)/(2*a);
}
def 이차방정식(a,b,c,선택)=solveQuadratic(a,b,c,선택);
Comments
Post a Comment