网站建设资讯

NEWS

网站建设资讯

java代码实现线性代数 java代码实现线性代数运算

1+(1+5)+(1+5+8)+……(3*n-1)用Java实现?

分析表达式规律:

目前成都创新互联已为上1000家的企业提供了网站建设、域名、网页空间、网站改版维护、企业网站设计、四子王网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

当 n=1 时,表达式为 1 ;

当 n=2 时,表达式为 1+(1+(3*2-1))=1+(1+5)  ;

当 n=3 时,表达式为 1+(1+5)+(1+5+(3*2-1))=1+(1+5)+(1+5+8)  ;

第一个数为 1 ,从第二数开始,该数为(前一个数+(3*n-1) (n=2)),然后再累加所有数。

参考代码如下:

public class MathExp {

public static void main(String[] args) {

System.out.println(exp(3));

}

public static int exp(int n){

if(n 0) return 0;

int res = 0; // 累计总和

int num = 1; // 第一个数为 1 ,从第二个数开始是 num + 3*n-1

for(int i = 1; i = n; i++){

if(i == 1){

res = num;

}else {

num += 3 * i - 1; // 第 n 个 数

res += num; // 累加第 n 个 数

}

}

return res;

}

}

利用java实现2^1,2^2,2^3,2^4......,代码!

如果算的数小,可以放在int类型或者double类型的变量里.

太大的,就要放到BigInteger类型的变量里.

先看看放到int类型的变量代码

---------------------------------------------------------------

/*

* 数量比较小的情况下可以用这个来计算

* 太大了就存放不了了

*/

public class PowerNumber {

public static void main(String[] args) {

PowerNumber power = new PowerNumber();

// 准备求第几项的值

int n = 10;

// 这里先打印第4项

System.out.println("第" + n + "项结果是:" + power.powerNumberN(n));

// 这里打印前4项的和

System.out.println("前" + n + "项的和是:" + power.powerNumberSum(n));

}

// 计算第n项的值

int powerNumberN(int n) {

// 用来存放第n个数

int sum = 1;

for (int i = 1; i = n; i++) {

sum = 2 * sum;

}

return sum;

}

// 计算前n项的和

int powerNumberSum(int n) {

// 存放前n项的和

int sumNum = 0;

int frontN = n;

for (int i = 1; i = n; i++) {

// 存放第n项的值

int sum = 1;

for (int j = 1; j = frontN; j++) {

// 第n项的值

sum = 2 * sum;

}

//求前一项

frontN--;

// 求出的值加到总和里

sumNum = sumNum + sum;

}

return sumNum;

}

}

------------------------------------------------------

前4项的结果:

第4项结果是:16

前4项的和是:30

--------------------

前20项的结果:

第20项结果是:1048576

前20项的和是:2097150

----------------------

前40项的结果......

第40项结果是:0

前40项的和是:-2

================================================

再看看放到BigInteger类型的变量里的程序

---------------------------------

import java.math.BigInteger;

public class Power {

public static void main(String[] args) {

Power power = new Power();

// 准备求第几项的值

int n = 4;

// 这里先打印第4项

System.out.println("第" + n + "项结果是:" + power.powerNum(n));

// 这里打印前4项的和

System.out.println("前" + n + "项的和是:" + power.sumPowerNum(n));

}

// 计算第n项的值

BigInteger powerNum(int n) {

BigInteger num = BigInteger.ONE;

for (int i = 1; i = n; i++) {

// 为了防止结果过大,将结果放在BigInteger中

// 每次对结果乘以2

num = num.multiply(new BigInteger(new Integer(2).toString()));

}

// 打印2^n结果

return num;

}

// 计算前n项的值

BigInteger sumPowerNum(int n) {

// 存放前n项的值

BigInteger sumNum = BigInteger.ZERO;

int frontN = n;

for (int i = 1; i = n; i++) {

// 存放第n项的值

BigInteger num = BigInteger.ONE;

for (int j = 1; j = frontN; j++) {

// 为了防止结果过大,将结果放在BigInteger中

// 每次对结果乘以2

num = num.multiply(new BigInteger(new Integer(2).toString()));

}

// 每次循环让最大值减掉1,以计算前面的值

frontN--;

// 计算出第n项的值,将其放入总和sumNum中

sumNum = sumNum.add(num);

}

return sumNum;

}

}

---------------------------------------------------

前4项的结果:

第4项结果是:16

前4项的和是:30

--------------------------------------------------

前40项的结果:

第40项结果是:1099511627776

前40项的和是:2199023255550

---------------------------------------------------------------------------------------------

前400项的结果:

第400项结果是:2582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376

前400项的和是:5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986750

-------------------------------------------------------------------------------------

前4000项的结果:

第4000项结果是:13182040934309431001038897942365913631840191610932727690928034502417569281128344551079752123172122033140940756480716823038446817694240581281731062452512184038544674444386888956328970642771993930036586552924249514488832183389415832375620009284922608946111038578754077913265440918583125586050431647284603636490823850007826811672468900210689104488089485347192152708820119765006125944858397761874669301278745233504796586994514054435217053803732703240283400815926169348364799472716094576894007243168662568886603065832486830606125017643356469732407252874567217733694824236675323341755681839221954693820456072020253884371226826844858636194212875139566587445390068014747975813971748114770439248826688667129237954128555841874460665729630492658600179338272579110020881228767361200603478973120168893997574353727653998969223092798255701666067972698906236921628764772837915526086464389161570534616956703744840502975279094087587298968423516531626090898389351449020056851221079048966718878943309232071978575639877208621237040940126912767610658141079378758043403611425454744180577150855204937163460902512732551260539639221457005977247266676344018155647509515396711351487546062479444592779055555421362722504575706910949376

前4000项的和是:26364081868618862002077795884731827263680383221865455381856069004835138562256689102159504246344244066281881512961433646076893635388481162563462124905024368077089348888773777912657941285543987860073173105848499028977664366778831664751240018569845217892222077157508155826530881837166251172100863294569207272981647700015653623344937800421378208976178970694384305417640239530012251889716795523749338602557490467009593173989028108870434107607465406480566801631852338696729598945432189153788014486337325137773206131664973661212250035286712939464814505749134435467389648473350646683511363678443909387640912144040507768742453653689717272388425750279133174890780136029495951627943496229540878497653377334258475908257111683748921331459260985317200358676545158220041762457534722401206957946240337787995148707455307997938446185596511403332135945397812473843257529545675831052172928778323141069233913407489681005950558188175174597936847033063252181796778702898040113702442158097933437757886618464143957151279754417242474081880253825535221316282158757516086807222850909488361154301710409874326921805025465102521079278442914011954494533352688036311295019030793422702975092124958889185558111110842725445009151413821898750

如何用JAVA程序解决三元一次方程组?

可以用线性代数的知识解决。

把 X,Y,Z 和 后面的值 转化为 行列式,计算行列式的值就可以求解这道题目了。

叫 克莱姆法则,查查资料,就能解决了。

如果你还需要答案的话,跟我联系。qq:2838844


网站标题:java代码实现线性代数 java代码实现线性代数运算
分享路径:http://njwzjz.com/article/dohsehj.html