zoukankan      html  css  js  c++  java
  • 第九周项目6-穷举法之年龄几何

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

    构建代码:

    /*
     *Copyright (c) 2014,烟台大学计算机学院
     *All gight reserved.
     *文件名称:temp.cpp
     *作者:邵帅
     *完成时间:2014年10月25日
     *版本号:v1.0
     *
     *问题描述:求等差数列
     *输入描述:无
     *程序输出;输出20项的等差数列
    */
    #include<iostream>
    using namespace std;
    int main()
    {
        int a,n,i;//n为最小的年龄,a为项差,i为记录循环的次数
        for (n=1; n>=1 && n<=6; n++)
        {
            for (a=1; a>=1 && a<=4; a++)
            {
                if (4*n+6*a==26 && n*(n+a)*(n+a+a)*(n+a+a+a)==880)
                {
                    for (i=1; i<=20; i++,n=n+a)
                        cout<<n<<" ";
                }
            }
        }
        return 0;
    }
    

    运行结果:



    思路:设数列的首项为n(1<=n<=6),项差为a(1<=a<=4),前4项之和=4*n+6*a,前4项之积=n*(n+a)*(n+a+a)*(n+a+a+a),当进行穷举出现符合两式时跳出循环。


    @ Mayuko

  • 相关阅读:
    P2495 [SDOI2011]消耗战
    计算机的组成
    人力资源管理【9047】
    物流管理【0670】
    企业战略管理【0612】
    资源经济学【0478】
    金融理论与实务【0466】
    公共关系学【0362】
    电子商务概论【0351】
    教育社会学【0283】
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567653.html
Copyright © 2011-2022 走看看