尼科彻斯描述:
分析:
可以发现上述每个整数m的奇数和共有m个奇数,而且是连续的奇数,那我们假设第一个数为i,可以通过等比数列求和得到连续奇数之和为:m∗i+m∗(m−1),即我们遍历1到m*3,找到满足上述等差数列之和等于三次幂的第一个数,然后输出以它开始的连续的m个奇数即可
实现代码:
#include <stdio.h>
int main() {
int a;
int q[100] = { 0 };
while (scanf("%d", &a) != EOF) {
int receive = a * a - (a - 1);
for (int i = 0; i < a; i++) //将要输出的数字先写入到数组当中
{
q[i] = receive;
receive += 2; //等差数列每个数相差2
}
for (int j = 0; j < a-1; j++) //输出
{
printf("%d+", q[j]);
}
printf("%d", q[a-1]); //因为题解要求最后一个数后边是没有+,所以此数单独输出
}
return 0;
}
(如有不理解的地方欢迎评论留言,博主会一一解答喔,最后麻烦铁汁们点赞关注一波Thanks♪(・ω・)ノ)