解题思路:
这道题利用高中的等差数列的关系求解时最好的,我采用的是,先输出完整个数的结果,在输出不足m 个的结果。
注意事项:
这道题用到了除法,所以一定!一定!!一定!!!要注意分母不为0!!!我就是没有注意,导致用函数,用动态规划,用滚动数组,都出错了!如果有大佬用了上述方法的,可以留言,相互学习,万分感谢!!!
参考代码:
#include<iostream>
using namespace std;
int main()
{
int n, m;
while (cin >> n >> m)
{
int arr[110];//我这里是从 0 开始的
for (int i = 0; i < 100; i++)
{
arr[i] = 2 * i + 2;
}
for (int i = 0; i < n / m; i++)//n/m 可以得出要输出几组完整的
{
int ans1 = 0;
for (int j = m * i; j < m * (i + 1); j++)//这里不是一下就可以写出来的,需要自己去研究
{
ans1 += arr[j];
}
cout << ans1 / m << " ";
}
if (n % m != 0)//这个条件不加上,虽然看上去答案输出是一样的,但过不了,因为分母不能为 0
{
int ans2 = 0;
for (int i = n - n % m; i < n; i++)
{
ans2 += arr[i];
}
cout << ans2 / (n % m) << endl;
}
}
return 0;
}
0.0分
0 人评分