
正文
java递归求和的代码 java使用递归的方法求n!
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用java编程计算1+2+3+…+n的和! 偶是小白!希望编代码时讲解越详细越好
两种方法,一种直接用循环计算,用循环依次对1到n进行叠加,具体如下:
public class Exos
{
public static void main(String[] args){
int n = 10;
int sum = 0;
for(int i=0;in;i++){
sum = sum + i+1;
}
System.out.println("The sum is: " + sum);
}
}
另一种方式是直接采用求和公式(前n项和求和公式为:(首项+末项)*项数/2):
public class Exos
{
public static void main(String[] args){
int n = 10;
int sum = n*(n+1)/2;
System.out.println("The sum is: " + sum);
}
}
如果还有不清楚的地方,欢迎追问。
相关问答
Q1: 数列求和这个java程序怎么写?
public class Test
{public void calSum()
{long num = 9; // 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围
long sum = num; // 存放数列和,使用 long, 因为 int 会超范围
// 因为只到9999999999,所以只用 9 次
for (int i = 0; i 9; i++)
{num = num * 10 + 9; // 根据数列当前项得到下一项的值
sum += num; // 计算目前为止所有数的和}
System.out.println("9+99+999+...+9999999999=" + sum);}
public static void main(String[] argv)
{Test test = new Test();
test.calSum();}}
或者public class Test{ public void calSum() { long num = 9; // 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围 long sum = num; // 存放数列和,使用 long, 因为 int 会超范围 // 因为只到9999999999,所以只用 9 次 for (int i = 0; i 9; i++) {num = num * 10 + 9; // 根据数列当前项得到下一项的值 sum += num; // 计算目前为止所有数的和 } System.out.println("9+99+999+...+9999999999=" + sum) } public static void main(String[] argv) {Test test = new Test(); test.calSum();}
Q2: 求高手编程 JAVA语言用递归算法求和 1,2,3,4...100 或者是1/1,1/3,1/5....明天用的 救命啊 .......
第一题:
public class CalSum {
public static void main(String[] args)
{
CalSum calSum = new CalSum();
int result = calSum.calculate(100);
System.out.println("1+2+3+...+100="+result);
}
public int calculate(int number)
{
int result = 0;
if(number == 1)
{
result = 1;
}
else
{
result = number + calculate(number -1);
}
return result;
}
}
Q3: java编程,用递归求和1!+3!+5!...+(2n-1)!,不能用for while,在线等,
参考代码如下java递归求和的代码:
public class JieChengSum {
/**
* 递归求和1!+3!+5!...+(2n-1)!=最终结果
*/
public static long result = 0;
public static void main(String[] args) {
int n= 4;
calJieCheng(2*n-1); // 转换为求阶乘1!+2!+3!+...+(2n-1)!=
System.out.println("result: " +result);
}
/**
* 递归求和1!+3!+5!...+(2n-1)!=
* @param m 参数m为2*n-1
*/
public static long calJieCheng(int m) {
if (m == 1) {
result += 1;
return 1;
}
else {
if (m%2==1) { // 遇到奇数时才叠加
result += calJieCheng(m-1) * m;
}
return calJieCheng(m-1) * m;
}
}
}
n=4时java递归求和的代码,打印result: 5167
Q4: java用递归算法求 1-2+3-4+5-6......+
思路:先用递归求出一个数的阶乘,接着for循环累加求和。参考代码:
#include
int
fun(int
n){
if(n==1)
return
1;//递归结束条件
return
n*fun(n-1);//递归式
}
int
main()
{
int
sum=0,i;
for(i=1;i=6;i++)//for循环累加求和
sum+=fun(i);
printf("%d\n",sum);
return
0;
}
/*
运行结果:
873
*/
评论
加载更多
关于java递归求和的代码和java使用递归的方法求n!的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








