您的位置:

包含求用java书写满足1的词条

本文目录一览:

用JAVA编写一个求1到N所有素数的程序

public class ZH

{

public static void main(String args[])

{

int i,j,count=0;

for(i=2;i1000;i++)

{

for(j=2;j=i/2;j++)

{

if(i%j==0) break;

}

if(ji/2)

{

System.out.print(" "+i);

count++;

}

if(count%5==0)

System.out.println();

}

}

}

这是1~1000之间的质数求法,N你看着改变就行了,你看看能不能解决你的问题

使用java编写一个程序,求满足条件1+2+3+....+n>=500的最小n及总和值.

public class Test{ public static void main(String args[]){ int i=0, sum=0; while(sum500){ sum+=i; i++; } System.out.println("sum="+sum+", n="+(i-1)); } }

求用java写一个1!+2!+……+20!的程序

你那个结果是错误的,超出int范围的,修改s t为long才正确; n >0多余。。。

public class test5 {

public static void main(String[] args) {

long s = 0L;

long t = 1L;

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

t = t * n;

s = s + t;

}

System.out.println("1!+2!+……+20!=" + s);

}

}

求一个用java编写的1到100内的素数,并且每行输出5个素数

public class Test {

public static void main(String[] args) {

int i, count = 0;

for(i=2; i=100; i++){

if(isPrimeNumber(i) == true){

count++;

System.out.printf("%6d", i);

if(count%5 == 0){

System.out.println();

}

}

}

//判断一个数是否是素数,若是,返回true,否则返回false

public static boolean isPrimeNumber(int num){

int k = (int) Math.sqrt(num);

if(num == 2){

return true;

for(int i=2; i=k; i++)

if(num%i == 0)

return false;

return true;

}

}

扩展:

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,

是素数或者不是素数。

如果

为素数,则

要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。

求用JAVA书写满足1!+2!+3!+…n!

class JieCheng

{

public static void main(String[] args) 

{

int sum =0; //用来记录结果

int y = 0; //用来记录次数

while(sum9999)

{

int a =1; //用来记录内循环的结果

y++;

for(int x=1;x=y;x++)

{

    a = a * x;

}

sum +=a;

}

 /*

 因为程序的运行后会多算一次

 所以要减去多算的一次

 */

int temp = 1;

for (int x=1; x=y; x++)

{

temp *=x;

}

System.out.println(y-1);

System.out.println(sum-temp);

}

}

楼主写的程序看不懂,不知道怎么改。看楼主应该是个java的初学者,我也是的哟。

其实最好写义一个方法。参数就是次数。返回的就是阶乘的值。这样用起来比较方便。。

用JAVA编写一个求1!+2!+3!+.....+10!的程序

用java编程写程序求1!+2!+....10!,只需用两个循环层,第一个循环是阶乘值相加,第二个循环是获取阶乘值,如下:

public class testd {

public static void main(string[] args){

//1!+2!+3!+···+10!就是1到10阶乘值的和

int sum=0;

//循环10次

for(int x=1;x=10;x++){

//阶乘初始值设置为1

int jiecheng=1;

//循环x次

for(int y=1;y=x;y++){

//阶乘上一个值和当前y值相乘重新赋值给阶乘

jiecheng=y*jiecheng;

}

//各个阶乘值相加

sum+=jiecheng;

}

//1~10阶乘值求和

system.out.println("1!+2!+3!+···+10!="+sum);

}

}

结果:

1!+2!+3!+···+10!=4037913