题目大意: 给你个长度为 n(n<=100) 的数列, 该数列定义为从 2 开始的递增有序偶数, 让你按顺序每 m 个数求出一个平均值, 如果最后不足 m 个, 则以实际数量求平均值
解题思路:
记录 n = 100 的数列的 100 个 前 n(n 为 1 ~ 100) 项和, 一个长度为 n 的 "滑动窗口", 从头滑动到尾, 过程中每次停滞都做一次除以 n 的操作并输出, 注意格式, 最后判断有没有剩下的了, 有就输出来
PS: 感觉自己代码写的好丑, 思路好挫, 因为既然是偶数应该有办法不去计算, 直接输出某个数, 或者某两个数的平均数, 先上 AC 代码吧, 其他的学会了一会来更新
(代码和题目 m, n 的意思反了, 代码 m 表示长度为 m 的数列, n 表示每 n 个求平均值)
代码:
- #include<iostream>
- #include<cmath>
- #include<iomanip>
- #include<algorithm>
- using namespace std;
- int num;
- int s[105];
- int main()
- {
- for(int i = 1; i <= 100; i ++)
- s[i] = s[i - 1] + 2 * i;
- int m, n;
- while(cin>> m>> n)
- {
- for(int i = 1; i <= m / n; i ++)
- {
- if(i == 1)
- cout <<(s[n * i] - s[n * i - n]) / n;
- else
- cout << " " << (s[n * i] - s[n * i - n]) / n;
- }
- if(m % n != 0)
- cout << " " << (s[m] - s[m / n * n]) / (m - m / n * n);
- cout << endl;
- }
- }
- //2 4 6 8 10// 更好的办法
********** 更新 *********
学会了方法二: http://www.cnblogs.com/ibosong/archive/2012/02/16/2353499.html
思路挺好的, 不需开数组, 一次遍历, 途中有能整除 n 的, 就输出一次, 数列结束了就判断是否有剩下的数
发现规律 hdoj P11 这前几道题就是可以优化, 少去开数组, 只用一个变量就可以解决的
********** 第二次更新 *********
超级开心, 网上没找到这种方法
思路就是我发现所有输出的数字都是 n + 1,(n + 1) + n * 2,((n + 1) + n * 2)+ n * 2 ,(((n + 1) + n * 2)+ n * 2)+ n * 2...., 所以用一下前 n 项和公式再搞搞就出来了啦
但感觉挺开心挺好的思路, 拿到现场塞上去写好疼啊, 又耗时间 (思考时间), 又不好搞, 还是方法一正常一些吧, 感觉思路好但显现效果不大
1A 代码:
- #include<iostream>
- #include<cmath>
- #include<iomanip>
- #include<algorithm>
- using namespace std;
- int num;
- int s[105];
- int main()
- {
- int m, n;
- while(cin>> m>> n)
- {
- for(int i = 1; i <= m / n; i ++)
- {
- if(i == 1)
- cout << n + 1;
- else
- cout << " " << n + 1 + 2 * n * (i - 1);
- }
- if(m % n != 0)
- cout << " " << (m + m * m - (m / n * n + pow(m / n * n, 2))) / (m - m / n * n);
- cout << endl;
- }
- }
附上自己的 CSDN: https://blog.csdn.net/zxc13936130136
唉, 静下心来想想, 我都大三了, 打算考研, 却都没脸说自己打过 acm, 一无是处穷途末路, 什么都没有...
还想考去 bupt, 前阵子在被知乎大佬们教会了认清现实 https://www.zhihu.com/question/268311128/answers/created , 还有每天看到 acm 群他们的日常生活啊, 讨论的东西啊, 这就是我渴望到窒息都想要的生活啊, 可是感觉自己差的好远好远菜的没话说, 还有考研, 保研群里真觉得自己好菜好菜啊, 给他们提鞋的提鞋都不配, 每天看不到希望的灯塔, 感觉离梦想渐行渐远......
可是, 这条路只有自己才能克服, 别人不能代劳. 努力吧, 欲得早成, 戒心自律!
因果, 代价, 弥补.
自强不息!
来源: https://www.cnblogs.com/mimangdewo-a1/p/9374839.html