1, 2, 8, 11, 21, 40求第n个数是多少?

forownwang 2015-07-27 07:54:35
现在明白的是,第四项是前面三项之和,但是如何写出来js,求教,谢谢!
...全文
98 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaveLeeCN 2015-07-27
  • 打赏
  • 举报
回复
感觉要求很有意思,也谢了一个
var n = prompt("请输入n的值(数字,最小为1)", "7");
var output;
var list = [1, 2, 8, 11, 21, 40];
//往后计算数组,直到第n-1个,因为数组的顺序是从0开始的
for(var i=6;i<=n;i++){
	list[i-1] = list[i-2] + list[i-3] + list[i-4];
}

if(n<=6){
	output = list[n-1];
}
// 这里注意序数的变化,第n个数,实际上在数组中是第n-1位的,那么前面的三个就是n-2,n-3,n-4了
else{
	output = list[n-2]+list[n-3]+list[n-4];
}

alert(output);
zpjshiwo77 2015-07-27
  • 打赏
  • 举报
回复
JS的语法我不太熟悉,我用C++写,逻辑上你看懂了,应该就没问题了吧。

int n=100,a[100]={1,2,8};
for(int i=3;i<n;i++){
a[i]=a[i-1]+a[i-2]+a[i-3];
}
Braska 2015-07-27
  • 打赏
  • 举报
回复
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title></title> 
<style type="text/css"> 
</style> 
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.8.3/jquery.min.js"></script>
<script language="javascript"> 
	function cal(){
		var n = $('#n').val();
		if(n < 3)return;
		var sum = 0;
		var data = [];
		data[0] = parseInt($('#no1').val());
		data[1] = parseInt($('#no2').val())
		data[2] = parseInt($('#no3').val())
		for(var i = 3; i < n; i++){
			data[i] = data[i-1] + data[i-2] + data[i-3];
		}
		
		alert(data[n-1]);
	}
</script> 
</head> 
<body> 
no1 = <input type="text" id="no1" /><br>
no2 = <input type="text" id="no2" /><br>
no3 = <input type="text" id="no3" /><br>
n = <input type="text" id="n" /><br>
<input type="button" value="result" id="cal" onclick="cal()"/>
</body> 
</html> 

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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