几道简单的问题大家做做

sjlzcj 2011-01-26 12:47:20
首先声明下面2到问题不是拿来问课后题的,我也不需要写作业,已经工作了

问题1: 求 1+2+3+4+……+n

问题2:求 1+1+2+3+5+8+13+……+n

题目是非常简单了,大家最好都写写
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjlzcj 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jiajianhui2009 的回复:]
你这个不是程序编码问题,考的是数学知识啊。
问题一:等差数列求和,等差为1.有:Sn=n(a1+an)/2 公式。
问题二:看数列规则应该是有名的 斐波那契数列,你的n参数表意错了,n应该是数列的个数而不是第n个数的数值。根据此博客资料http://junfriends.blogbus.com/logs/72255513.html得到通项公式和求和公式。

得到Java代码:

Jav……
[/Quote]

问题一 你说的很对 就是 等差求和公式 主要就是很多 刚毕业的朋友 受教科书影响类似的问题上来就是直接想循环 却将高中就学过的 等差数列求和公式给忘了

问题二 我没有表示错误 求的就是 斐波那契数列 前N项的和 如果就是 求第N的值 递归很简单 而且很多的书里都有答案 没什么思考意义
wusuobulun 2011-01-26
  • 打赏
  • 举报
回复
public class TT {
//方法A计算:1+2+3+4+5+……+n;
public long A(long n){
long sum = 0;
for(long i=1;i<=n;i++){
sum = sum + i;
}
return sum;
}
//方法B计算:1+1+2+3+5+8+13+……+n;(n表示有几个数相加的)
public long B(long n){
long sum = 0;
long j = 0;
long k = 1;
long x = 0;
for(long i=1;i<=n;i++){
x = k + j;
k = j;
j = x;
sum = sum + x;
}

return sum;
}


//简单的测试!
public static void main(String[] args){
TT t = new TT();
System.out.println(t.A(5));
System.out.println(t.B(6));
}

}



pkzhou99 2011-01-26
  • 打赏
  • 举报
回复
第一题我是这样做的~~~~~
import java.util.Scanner;
class wenti{
public static void main(String args[]){
System.out.println("请输入n的值!");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int sum=0;

for(int i=1;i<n+1;i++)
sum+=i;
System.out.println(sum);

}
}
第二题貌似有错~~~~·
jiajianhui2009 2011-01-26
  • 打赏
  • 举报
回复
你这个不是程序编码问题,考的是数学知识啊。
问题一:等差数列求和,等差为1.有:Sn=n(a1+an)/2 公式。
问题二:看数列规则应该是有名的 斐波那契数列,你的n参数表意错了,n应该是数列的个数而不是第n个数的数值。根据此博客资料http://junfriends.blogbus.com/logs/72255513.html得到通项公式和求和公式。

得到Java代码:

//1 + 2 + 3 +... + n
private static int sum1(int n){
return (1 + n) * n >> 1;
}
// 1+1+2+3+5+8+13+……+n
private static int sum2(int n){
double an = (Math.pow((1 + Math.sqrt(5d)) / 2, n) - Math.pow((1 - Math.sqrt(5d)) / 2, n)) / Math.sqrt(5d);
double preAn = (Math.pow((1 + Math.sqrt(5d)) / 2, n - 1) - Math.pow((1 - Math.sqrt(5d)) / 2, n - 1)) / Math.sqrt(5d);

return (int) (an * 2 + preAn -1);
}
bingmeng_1102 2011-01-26
  • 打赏
  • 举报
回复
最简单的才是最基础的,我去实践实践~ 谢谢lz.
小蛋强 2011-01-26
  • 打赏
  • 举报
回复
用递归
1.简单求和
2.Fibonacci函数
h371842000 2011-01-26
  • 打赏
  • 举报
回复
简单的递归算法

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧