用Java编程求S=1/1!+1/2!+1/3!=.....+1/10! 求详细过程

作者&投稿:茹星 (若有异议请与网页底部的电邮联系)
用Java编程求S=1/1!+1/2!+1/3!+.....+1/10! 求详细过程~

建个类名为aaaa
public class aaaaa {
public static void main(String []args)
{
int i=1,j=1;
double temp=0.0;
for(;i<10;i++){ /
j=j*i;
temp+=(double)1/j;
}
System.out.println(temp);
}
}

public class jiecheng {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int sun=0;
int jc=1;
for(int i=1;i<=10;i++)
{
jc=jc*i;
sun+=jc;
}
System.out.print(sun);
}

}
解释:
当i=1;进行第一次循环 jc=jc*i=1*1=1=1!,sun+=jc=0+1=1!;
当i=2;进行第二次循环,jc=jc*i=1*2=2!,sun+=jc=1!+2!=3;
当i=3,进行第三次循环,jc=jc*i=2!*3=3!,sum=1!+2!+3!=9.
一次类推

考虑到分子转换为double后精度丢失问题,因此考虑通分后再做处理
分母为:10!
分子为:
1: 2*3*4*5*6*7*8*9*10
2: 3*4*5*6*7*8*9*10
3: 4*5*6*7*8*9*10
n: n*(n+1)*....10

public class Test {

public static void main(String[] args) {

int end = 10;//分子最大值

long fenzi = 1L;

for(int i = 1; i <= 10; i++){
fenzi += calcFactorial(i+1, end);//对于1,通分后分母为2*3*4*5*6*7*8*9*10
}

double result = ((double)fenzi / (double)calcFactorial(1, 10));

System.out.println("S=1/1!+1/2!+1/3!=.....+1/10! = " + result);

}

public static long calcFactorial(int start, int end){
long factorial = 1L;

while(start <= end){
factorial *= start++;
}

return factorial;
}
}

S=1/1!+1/2!+1/3!=.....+1/10! = 1.7182820767195768

double fun(int n){
double result = 0.0;
int temp = 1;
if(n <= 0)return 0.0;
for(int i=1;i<=n;i++){
temp *= i; //temp是i的阶乘
result += 1/temp;
}
return result;
}


java语句中s=(s+M-1)%i是什么意思,尤其是那个百分号解释一下
:是取余的意思,本句的意思就是先计算s+M-1的值,此值除以i的余数赋值给s

用Java编写一个程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+5+…+100...
public class Sum { public static void main(String[] args) { int sum = 0;for(int i = 1; i <= 100; i++){ int sumI = 0;\/\/calc (1+2+3) for 3 for(int j = 1; j <= i; j++){ sumI = sumI + j;} sum = sum + sumI;} System.out.println("1+(1+2)+(1...

用java编程计算s的值:s=2\/1*2\/3+4\/3*4\/5+...+2n\/2n-1*2n\/2n+1;_百度...
public static void main(String[] args){ Scanner scn = new Scanner(System.in);int n = scn.nextInt();int i = 1;int sum = 0;for(; i<=n; i++){ sum += (2*i)\/(2*i-1)*(2*i)\/(2*i+1);} System.out.println("sum=" + sum);} ...

java编写一个程序,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。_百度知 ...
代码如下:import java.util.Scanner;public class App {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入n:");int n = scanner.nextInt();int sum1 = 0;int sum2 = 0;for (int i = 1; i <= n; i++) {sum1 += ...

用java代码求s=a+aa+aaa+aaaa+aaaaa的值, 其中a是一个数字,几个数字相...
import java.util.Scanner;public class AddNum { public static void main(String[] args) { int a, temp, num, c = 0, sum;Scanner sc = new Scanner(System.in);System.out.println("请输入一个数:");a = sc.nextInt();System.out.println("请输入位数:");temp = sc.nextInt()...

java中s=(int)(Math.random()*(g-k)+k);
这个式子中:Math.random()表示 返回带正号的 double 值,大于或等于 0.0,小于 1.0。知道这个相信你就明白了。前面加(int)是表示将后面得到的值强制转换成int类型。希望对你有所帮助。

用java编写程序计算 s=1\/1+1\/2+1\/3+...+1\/10 的结果
看看能满足你的需求不~~~public static void main(String[] args) { double sum =0;for (int i = 0; i < 10; i++) { sum =sum + (double)1\/(i+1);} System.out.println(sum);}

JAVA 利用while循环编程求S=1-1\/2+1\/3-1\/4...+1\/(n-1)-1\/n n=100时...
回答:double s=1; int i=2; while(i<=100) { if(i%2==0)s=s-1\/(double)i; else s=s+1\/(double)i; i++; } System.out.println(s); }

我想编写一个java程序计算s=1+1\/2+1\/3+...+1\/n,直到最后一项小于0.12345...
1是整形i是整形,整形除整形得到的还是整形所以在 a=1\/i;的时候a=0了 所以你输出的就是1.0 想改很简单a=(float)1.0\/i 即可

求java程序s=4+7+10+13+16+...+n+... 计算S 输出S大于1000 时 s的...
public class Calc_s { public static void main(String[] args) { int s=0;for(int n=4;s<=1000;n+=3){ s+=n;if(s>1000)System.out.println("s:"+s+",n:"+n);} } } 结果:s:1079,n:79

西乡塘区18613209731: JAVA 利用while循环编程求S=1 - 1/2+1/3 - 1/4.....+1/(n - 1) - 1/n n=100时求S的值. -
不娟玉液: int S=1; int n=2; while(n<=100){if(n%2==0){S-=1/n; }else{S+=1/n;}n++;}

西乡塘区18613209731: 用JAVA编写求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值 -
不娟玉液: class Sum{ public static void main(String args[]){ int sum = 0; int n = 4; for(int i = 1;i用JAVA编写求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值

西乡塘区18613209731: 用Java编程求S=1/1!+1/2!+1/3!=.....+1/n! 直到1/n!<=1e - 6 -
不娟玉液: public class practice2 { public static void main(String[] args) {double n = 1 * 1;double sum = 0;for (int m = 2; ; m++) {if(1/n>=1e-6){int s = m - 1;n = s * n;sum = sum + 1 / n;}else{break;}}System.out.println("总和为:"+sum); }} 前...

西乡塘区18613209731: 编程求s=1+3+7+15..... java写的代码 -
不娟玉液: 你是说他们的差是 2的1 2 3 4 次方吗?是的话..public class GetSum { public static void main(String[] arg) {System.out.println(getSum(4));} public static long getSum(int count) {long sum = 0;long num = 1;for(int i = 1; i <= count; i++) {sum += num;num += Math.pow(2, i);}return sum;} }

西乡塘区18613209731: 用java编程s=1!+2!+3!+...+n! -
不娟玉液: public class Test { /*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint n = 4;//这里是你要计算的nSystem.out.println(getSum(n));} public static int getSum(int n) {int sum = 0;for(int ...

西乡塘区18613209731: JAVA编程:已知:s=1 - 1/2+1/3 - 1/4+…+1/(n - 1) - 1/n,编写程序求解n=100时的S值.(用JAVA语言编写),程序哪 -
不娟玉液: 楼主,运行了下你的程序 貌似没什么问题,我的: public void col(){ double s=1; for(...

西乡塘区18613209731: 用java编写一个程序s=1*2*3*......*n,求s>=1000的最小n的值
不娟玉液: int s = 1; int n = 1; while(s&lt;1000) { s *= ++n; } System.out.println(s); System.out.println(n);//你要的

西乡塘区18613209731: 编程求 s=1+2+3+4+1*1+2*2 -
不娟玉液: #include using namespace std; int main() { double a,b,c,d,e,f,g,h,s; cin >>a>>b>>c>>d>>e>>f>>g>>h; s=a+b+c+d+e*f+g*h; cout return 0; } 我晕,随便你输入数....

西乡塘区18613209731: 用子程序求级数的前n项和,级数为 s=1+(1+3)+(1+3+5)+...+(1+3+5+...+2n - 1)Java语言编程 -
不娟玉液: 这个是Sn的方法,剩下的就是读取n,用个for循环sum+=Sn(i);就是前n项的和了. private int Sn(int n) { int sum = 0; for(int i = 1; i <= 2 * n - 1; i += 2) sum += i; return sum; }

西乡塘区18613209731: 用 VF 编程求s=1!+2!+3!+4! ……+n! 求s小于12345678的最大值 -
不娟玉液: #include <stdio.h> main() { long s,sum; int j; j=1; sum=12345678; for(s=1;s<sum;j++) { sum=sum-s*j; s=s*j; } printf("%d",j); }12

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网