100c之39:年龄问题

Table of Contents

问题

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

分析

穷举

程序

 1:  /**
 2:   * @file   039c.c
 3:   * @author Chaolong Zhang <emacsun@163.com>
 4:   * @date   Thu Jun 27 19:16:40 2013
 5:   * 
 6:   * @brief  张三,李四,王五,刘六年龄是个等差数列。他们四个年龄相加为26,相乘是880,求以他们年龄前四项的等差数列的前20项。
 7:   * 
 8:   * 
 9:   */
10:  
11:  #include <stdio.h>
12:  
13:  int main(int argc, char *argv[])
14:  {
15:      int i,j,k,l;
16:  
17:      for (i=1; i < 880; ++i)
18:      {
19:          for (j=1; j < 880/i; ++j)
20:          {
21:              k=j+j-i;
22:              l=k+j-i;
23:              if( ( l-k == j-i ) && ( i*j*k*l ==880 ) ){
24:                  printf ("%d*%d*%d*%d=880\n",i,j,k,l);
25:              }
26:          }
27:      }
28:      return 0;
29:  }

输出

2*5*8*11=880
11*8*5*2=880
posted @ 2013-06-27 19:39  emacsun  阅读(253)  评论(0编辑  收藏  举报