重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
参考代码如下:
成都创新互联专注于兴山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供兴山营销型网站建设,兴山网站制作、兴山网页设计、兴山网站官网定制、小程序设计服务,打造兴山网络公司原创品牌,更为您提供兴山网站排名全网营销落地服务。
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时,打印result: 5167
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(f(n));
}
public static int f(int n) {
if (n == 1)
return 1;
else {
return n + f(n - 1);
}
}
}
两种方法,一种直接用循环计算,用循环依次对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);
}
}
如果还有不清楚的地方,欢迎追问。
思路:先用递归求出一个数的阶乘,接着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
*/
评论
加载更多