2016年蓝桥杯A组填空题 1.生日蜡烛 考点:等差数列 一次过

115 阅读1分钟

1.生日蜡烛 - 蓝桥云课 (lanqiao.cn)

等差数列前n项和为 sn=(a1+an)n2sn=\frac{(a1+an)*n}{2}

已知sn=236sn=236,我们去枚举a1a1,anan即可。

因为不知道某君从第几岁开始过生日party,所以我们从i=1岁开始枚举a1,也因为不知道某君现在多少岁,所以我们从j=i+1开始枚举an

#include<bits/stdc++.h>

int main(int argc, char *argv[])
{

  //等差数列和=(首项+尾项*n)/2
  
  int sum=236;

  for(int i=1;i<100;i++)  //枚举1到100岁
  {
    for(int j=i+1;j<100;j++)
    {
      if(((i+j)*(j-i+1))/2==sum)
      {
        printf("%d %d",i,j);
      }
    }
  }
  return 0;
}

从26岁开始过生日,现在33岁。 image.png