编程做一道高中数学题

看到一同学发了个高中的数学题,一时想用编程方法来练练算法,虽然很简单,就当锻炼一下逻辑,毕竟很少有时间再接触这些了。

题目:一个七层的塔,每层所点灯的盏数都等于上面一层的2倍,一共381盏灯,则底层所点灯的盏数是?

我用的递归方法,也没啥好说的,比较传统的方法:

<!doctype html>
<html>
<script type="text/javascript">

var key=1,num=0,s=1,add=1;
function findKey(s,num,key,add){//alert(s+","+num+","+key+","+add);
    s = add*2 + s;
    add = add * 2;

    if(num==5){
        if(s==381){alert(key);}
        else {
            key++;
            num=0;
            add=key;
            s=key;
            findKey(s,num,key,add);
        }
    }else{
        num++;
        findKey(s,num,key,add);
    }
}
findKey(s,num,key,add);
</script>
</html>
时间: 2024-10-03 22:51:13

编程做一道高中数学题的相关文章

利用编程解决一道数学题

问题 在朋友QQ空间看到一道题,如下: 当时顺手画了条数轴,在数轴上标出了各个算式的解的特点:和为7的算式的解关于4对称,和为9的解关于5对称等等.草草算了下,发现很难同时满足5个条件.而细算又太麻烦,算了,反正是程序员,写程序求解吧. 利用笛卡尔积求解 因为是4个算式,很自然的就想到穷举法.将每个算式可能的结果放在一起算笛卡尔积,如果有解的话,则必然存在一个笛卡尔积里面存在1到8这8个不同的元素. 计算笛卡尔积的代码如下: /// <summary> /// 计算元素集列表的笛卡尔积 ///

用数值分析方法做一道平面解析几何数学题

问题 看到有人问: 已知拱高10.4米的圆弧弧长36.7米,求圆的半径和圆心角(最好附带Matlab程序).怎么限制x是锐角? 解答 顺便把三个软件都用一遍,用它们各自擅长的.实际上,这个问题而言,单独用任何一款都能画图和解方程(是的,Geogebra不但画图厉害,解这个方程也实际上顶呱呱). 先根据大致情况推导一番(Geogebra作图) 因为r跟θ有如下关系,只须求一个r即可: s=r?θ 可以利用的关系从图上看出还有: x2=h(2r?h) sinθ2=xr 由此三个关系知道: x2=r2

结对编程---带界面的数学题练习题(强烈安利windowbuilder)

一:个人项目模块-出题模块 本次结对项目是以队友的个人项目为基础,只是开始我们是以c++写的,然后由于结对项目中需要短信验证码功能,而阿里云没有c++的接口,再加上我们了解过java的UI界面,于是就把原个人项目改为了java.改为java版的代码的主要就是生成题目的类. 之前队友的个人项目是全都在主函数里实现的,在Java中我们将每个年级的题目生成单独出来实现 二:解题模块 本模块在实现的时候本来是想自己写类进行计算的,后来了解到Java中有计算Java的字符串中的算式的函数,只不过只能计算出

做一道 高一 求 函数 值域 的 题

网友 暮色星辰ing (Suzuha)   在 数学吧 发了一个 帖,  提问了一道 题,  这道题 是 g(x) = 5 / ( 2^x + 1 ) - 2   ,    x ∈ [ 0, 2 ]    ,     y = [ 2 + g(x) ]  [ 1 / g ( -x ) - 2 ]     ,     求 y 的 值域    . 我做了一下, 我化简 得到 的 函数式 是   y = -25 * (2^x - 1) / [ (2^x + 1) (3 * 2^x - 2) ]  , 

socket编程 做一回文抄公

socket接口是TCP/IP网络的API,socket接口定义了许多函数或例程,程序员能够用他们来研发TCP/IP网络上的应用程式.要学Internet上的TCP/IP网络编程,必须理解socket接口. socket接口设计者最先是将接口放在Unix操作系统里面的.假如了解Unix系统的输入和输出的话,就很容易了解Socket了.网络的socket数据传输是一种特别的I/O,socket也是一种文档描述符.socket也具备一个类似于打开文档的函数调用socket(),该函数返回一个整型的s

做一道 初三题

在 数学吧 里 有 一个 帖 <万能的吧友,救救这名卑微的初三狗吧>   http://tieba.baidu.com/p/6455416605   ,   里面 提问 了一个 题 ,  如下 : 我们 来 做做 这道题, (1)   函数图像 与 x 轴 相交于  A (-1, 0) . B (3, 0)   两点,  可以列 方程组 : 0 =  ( -1 ) ² + b * -1 + c 0 = 3 ² + b * 3 + c 1 - b = 9 + 3 b 4 b = - 8 b =

[题解]第十一届北航程序设计竞赛预赛——H.高中数学题

题目描述 解题思路 可以求得通项公式:an = 2n + 1,所以问题就变成等差数列求异或和,这个具体为什么对我还不能很好地解释清楚,先挖坑吧. 附:c++代码 1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 typedef unsigned long long llt; 7 8 llt Cal(llt x, llt d, llt P, llt Num) 9 { 10 llt ret =

一道神奇数学题

对于实数\(x_1, x_2\cdots x_{2007}\), 满足 \(|x_2-x_1|+|x_3-x_2|+\cdots+|x_{2007}-x_{2006}|=2007\) 设\(y_k = \frac{\sum_{i=1}^{k}x_i}{k}\) , \(1\leq k\leq 2007\), 求\(\sum_{i=1}^{2006}|y_{i+1}-y_{i}|\) 的最大值 这道题十分有趣 原文地址:https://www.cnblogs.com/Eroad/p/9949657

leetcode 343. Integer Break(dp或数学推导)

Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get. For example, given n = 2, return 1 (2 = 1 + 1); given n = 10, return 36 (10 = 3 +