JS经典逻辑题------贰

JS经典逻辑题

这期接上上期讲,JS经典逻辑题,第二部分

第一题

有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死。
问:每个月的兔子总数为多少?

解决这个问题的思路在于,需要知道一个月份,还有兔子增长的规律。兔子在第一个月和第二个月里都只有一对兔子。
第三个月开始才生了一对,小兔子长到三个月后也开始生兔子,而最开始的兔子会连续生。

<script type="text/javascript">
		/*
          题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
          小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
          问每个月的兔子总数为多少?
		*/
		function rabbit() {
			// 接受用户输入数据
			var num = prompt('请输入想要知道兔子总数的月份:');
			//定义每个月的兔子总数
			var sum = 0,
			    //定义第一个月和第二个月的兔子总数
			    one = 1,
			    two = 1;
			document.write('第' + 1 + '个月,兔子的总数为:' +one + '<br/>');
			document.write('第' + 2 + '个月,兔子的总数为:' +two + '<br/>');
			for (var i = 3;i <= num;i++) {
				sum = one + two;
				one = two;
				two = sum;
				document.write('第' + i + '个月,兔子的总数为:' + sum + '<br/>');
			}
		}
		rabbit();
</script>

第二题

一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3。
编程:找出1000以内的所有完数

解决这个问题的思路在于要先把1000以内所有的数找出来,然后找每个数下面的从1到那个数的所有约数,然后把它们加起来与这个数比较。

<script type="text/javascript">
		/*
          题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。
          例如6=1+2+3.编程 找出1000以内的所有完数
		*/
		function perfect() {
			document.write('1000以内的完数有:');
			// 循环1000以内的数
			for (var i = 1; i <= 1000; i++) {
				//定义
			    var sum = 0;
				//循环找出i的1-i之间所有的约数
				for (var j = 1; j < i;j++) {
					if(i % j == 0){
						sum = sum + j;
					}
				}
				if(sum == i){
                      document.write(i +'、'); 
				}
			}			
		}
		perfect();
</script>
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值