今天是911袭击事件20周年,让我们一起来反对恐怖主义,拆炸弹!
这是一道模拟算法的题目,只需要按照题目要求来操作即可。
先是读取数据,然后建立一个新的vector来存储new_code。
求每一个数据的时候,我们要考虑k的情况。
如果k大于0,那么我们就循环k次,让j从1到k,把后面每一项相加,但是这是循环的,我们需要想到通过模运算去跑到最前面,避免越界。
如果k小于0,那么我们就循环k的绝对值次,这里用了abs函数,所以有加cmath头文件。还有一个细节就是相减后越界也会存在,但mod运算应该是不会有负的不用考虑太多的。
我这里就是考虑多了,所以代码里面多先加了一个len,其实不需要。
如果k等于0,那么就不需要加什么东西,直接存0就可以了。
这道题如果k比较大,其实我们应该计算周期,把一圈的和计算出来,然后模周期来减少计算次数的。
但好在题目说k范围比n的小,我就懒得把题目再复杂化了。
希望这个世界正义可以战胜邪恶,让那些恐怖和赞助恐怖的集权国家领导全部消失。