年龄问题

程序地址:http://www.cheemoedu.com/exercise/46

问题描述:

王二、张三、李四、刘五年龄成一等差数列,他们四人的年龄相加是28,相乘是585。
求以他们的年龄为前4项的等差数列的前15项。

我的代码:

def fun(sum,cj):
    for a in range(1,7):
        for d in range(1,5):
            sum=2*a+3*d
            cj=a*(a+d)*(a+2*d)*(a+3*d)
            if sum==14 and cj==585:
                print "wang er is %d old,the difference is %d" % (a,d)
                return a,d
aa,dd=fun(28,585)
for i in range(0,15):
    print aa+dd*i,

我的思路:

按照等差数列通项公式,假设王二年龄为a,公差为d,那么满足条件2a+3d=14和

a(a+d)(a+2d)(a+3d)=585,又因为a的范围为1到7,d的范围为1到5,那么就可以采用穷举法求得a和d的值,进而就可以求得该等差数列的前15项了;

示例代码:

def sum(a, k, n):
    s = a
    for i in xrange(1, n):
        s += a + i * k
    return s
def mul(a, k, n):
    s = a
    for i in xrange(1, n):
        s *= a + i * k
    return s
for a in range(1, 28 / 4):
    find = False
    k = 1
    while True:
        t = sum(a, k, 4)
        if t >= 28:
            if t == 28 and mul(a, k, 4) == 585:
                find = True
            break
        k += 1
    if find:
        for i in xrange(4):
            print a + i * k,
时间: 2024-11-06 03:58:38

年龄问题的相关文章

随着年龄增长,觉得更能理解这些事情

随着年龄增长,觉得更能理解这些事情 (2011-09-23 09:40:01) 转载▼ 及时.收到邮件24小时内回复. 近俗.长期阅读两种以上的财经期刊,知道最近什么是大奸大猾或者大痴大傻.长期阅读两种以上的专业期刊,知道最近什么最新潮. 学习.一年至少要读4本严肃书籍.严肃书籍的定义是,通常在机场是买不到的,不是近5年出的,不是你看了能不犯困的. 动笔.在当下,能想明白.写清楚的人越来越少,眼高手低的人越来越多.写作的过程,也是沉静.思考和凝练的过程. 强身.每天至少慢运动半小时,比如肢体伸展

练习:往HashSet中存储学生对象(姓名,年龄) 同姓名,同年龄视为一个人,不存

具体源码实现 package com.runoob.test; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class HashSetTest { public static void main(String[] args) { // TODO Auto-generated method stub /* * 练习:往HashSet中存储学生对象(姓名,年龄) 同姓名,同年龄视为

《三联生活周刊》2017年23期:5星。地球年龄与人类进化的检测技术的简史。

本期主题是人类测量地球年龄与人类进化史的技术的简史.地球年龄最终依靠同位素测量法确定为45.5亿年,人类进化史初期是根据化石推测,后来则根据DNA的变化来推算. 个人感觉这是看过的袁岳的文章中最精彩的一篇,有靠谱的技术发展史,故事也比较有意思.袁岳是理科生风格,严肃有余,讲故事的天赋则相对不足.当然反过来说讲故事天赋比较好的人,一般来说写出来的东西可靠性稍差. 以下是书中内容的摘抄,大部分是主题文章的摘抄.#号后面是kindle电子书中的页码: 1:再后来,他采用了一种从铀铅测年法推导出来的铅铅

声明四个变量,姓名、年龄、性别和身高,打印出来。

/** * @author 蓝色以太 * 声明四个变量,姓名.年龄.性别和身高,打印出来. */ public class DeclareVariables { public static void main(String[] args) { String name="张三"; int age=20; char gender='男'; double height=1.78; System.out.println("姓名:"+name); System.out.pri

使用SharedPreferences将姓名和年龄信息保存在文件中,并读取信息

第一个是XML文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:id="@+id/activi

Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳

早期的身份证号码为15位数字,现在使用的身份证号码为18位数字,它们的含义如下:(1)15位:1-6位为地区代码,7-8位为出生年份(2位),9-10位为出生月份,11-12位为出生日期,第13-15位为顺序号,这3位奇数为男,偶数为女.(2)18位:1-6位为地区代码,7-10位为出生年份(4位),11-12位为出生月份,13-14位为出生日期,第15-17位为顺序号,同上,第18位为效验位. 在工作时,有时希望通过身份证号码,自动提取出出生日期.性别.年龄等信息.现在我们就通过几个公式,来得

js根据生日计算出年龄

/*根据出生日期算出年龄*/ function jsGetAge(strBirthday){ var returnAge; var strBirthdayArr=strBirthday.split("-"); var birthYear = strBirthdayArr[0]; var birthMonth = strBirthdayArr[1]; var birthDay = strBirthdayArr[2]; d = new Date(); var nowYear = d.get

程序员入门有年龄限制吗?

年轻的我们很幸运,因为可以有大把的时间用于挥霍,殊不知时间正在悄悄的从我们身边溜走,新霸哥近期在大家的留言中看到一个比较特殊的问题:我今年40多岁了想做软件开发,还能入行吗?很多朋友看到这个问题会觉得很可笑吧,在这里新霸哥想说的就是年龄不是问题,重要的在于技术. 为什么年轻人受欢迎? 年轻人作为新生力量,思维创新能力强,因此很受欢迎,很多的创业公司都喜欢招聘一些刚毕业大学生,因为他们刚去校门,学习能力强,掌握新知识也很快,所以能够很快的适应公司的发展要求. 年轻人没有太多的压力,特别是很多未婚的

无意间发现我的博客园的年龄有11年了

感叹时间飞快,当初的好多梦想都没有实现,转眼已经十年了. 感觉技术还是在老老老地方,05年的水平和现在的水平没什么区别. 只是会了几个新语言,废了几个老语言. 程序员真的很累,每天的不断的码代码,到头都是一场空. 能力不会随着年龄经验的增长而同步增长,因为只是码农, 如果能让生活在选择一次我绝对不会选择做程序员. 但是既然选择了这一行,我会继续下去,努力做到最好. 没有出人投地,只能说你还没学到最好-

使用Python统计深圳市公租房申请人省份年龄统计

使用Python,HtmlParser来统计深圳市保障房申请人的原籍省份分布,年龄分布等.从侧面可以反映鹏城人的地域分布.以下python代码增大了每一次获取的记录数,从而少提交几次请求.如果按照WEB主页设定的每一次请求最多50个记录,那就得提交数千次请求,显然费时.另外,也可以使用多线程处理,快速获得数据,解析数据,然后使用pandas,matplotlib等工具进行数据处理和绘制.查询了系统,截止2016年2月,轮候系统的保障房人数大概4万多,公租房轮候人数大概5万,以下数据仅作学习使用,