1.只要思路没有错,出现问题检查边界以及代码的逻辑问题
- 知道总的项数 奇数项累加和 和 偶数项的累加和
- 奇数项的和与偶数和的差值与等差数列 等差值之间的关系
- (330-300)/10= 3
- 现在不知道首项的值 利用程序计算来确定首项
2.可行的思路代码:
#include <stdio.h>
extern int find_first_of_array();
void main()
{
int k = find_first_of_array();
printf("first one %d\n", k);
int i;
int tmp = 0;
for (i = 0; i < 20; i++)
{
k = k + 3;
tmp += k;
printf("-------k----%d\n", k);
printf("-------tmp----%d\n", tmp);
}
}
int find_first_of_array()
{
int i, j;
for (i = 0; i < 100; i++)
{
int odd_sum = 0;
int even_sum = 0;
int number = 1;
printf("--------i = %d\n", i);
for (j = i; j < 100; j += 3)
{
printf("--------j = %d\n", j);
number++;
if (number % 2 == 1 && number <= 30)
{
odd_sum += j;
}
else if (number % 2 == 0 && number <= 30)
{
even_sum += j;
}
if (odd_sum > 300 || even_sum > 330)
{
break;
}
if (odd_sum == 300 && even_sum == 330)
{
return i;
}
}
i++;
}
}