第一眼看见这个题其实是想用拼接两个数组来实现,不过思考之后发现用%这个东东会很简洁明了。

老规矩,先讲思路:

关于怎么用这个%;你只要在纸上算几对数就会发现规律。

题目的意思即:把后m个元素挪到前面,前n-m个元素挪到后面。

假如有5个元素要循环移动3个位置:

1 2 3 4 5 ——————>3 4 5 1 2

显而易见 第一个元素变成第1+3个,第二个元素变成第2+3个,第三个元素变成第1个,即(3+3)%5,第四个元素变成第2个,即(4+3)%5,第五个元素变成第3个,即(5+3)%5;

所以思路就很明显了:

创建一个新数组,把原数组的元素按照i--(i+m)%n的规律拷贝,

最后再把新数组整个拷贝给原数组。即可。

代码实现:

#include<stdio.h>
void mov(int* x,int n,int m)
{int *y = x ,temp[11] = {0};for(int i=0;i<n;i++)temp[(i+m)%n] = y[i];for(int i=0;i<n;i++)x[i] = temp[i];
}
int main()
{int n,m;scanf("%d %d",&n,&m);int x[n];for(int i=0;i<n;i++)scanf("%d",&x[i]);mov(x,n,m);printf("After move: ");for(int i=0;i<n;i++)printf("%d",x[i]);return 0;
}

俺觉得这样省去了什么俩数组拼接呀啥的,就很简洁。

下课~

PTA——循环移动(思路清奇版)相关推荐

  1. 某cms代码审计RCE艰难bypass(思路清奇)

    0x01 前言 闲来无事挖挖漏洞,发现一个经过了一些过滤的漏洞,踩了无数的坑,然后冥思苦想了许多方法,终于找到了一个点,使得可以进行命令执行与getshell.这里的漏洞点不值一提,但是因为绕过方法挺 ...

  2. 全民一起VBA实战篇 专题4 第五回 递归算法流程独特 大事化小思路清奇

    相关知识点: 区别于循环在于,把大问题转换成小问题,总结递进的推导公式:知道最小问题的答案(递归的停止条件). 例1 阶乘(循环语句) Sub demo() Msgbox 阶乘(4) End Sub ...

  3. idea不自动检查语法_IntelliJ IDEA推出一个思路清奇的语法检查插件

    开发中不仅会涉及编程语言,其中有许多内容是面向人类而不是编译器的,比如字符串文字.注释.Javadocs.commit 消息等,这些都是自然语言而不是编程语言,而不同的地区使用不同的语言来输入这些内容 ...

  4. 快速排序思路(挖坑版),代码实现

    挖坑版是在Hoare版的基础上做了改造,答题思路还是和Hoare版一样. 挖坑版partition单次过程: 选一个基准值,一般选最左或者最右面,把该基准值存在val变量中,因为值存到了变量里,所以可 ...

  5. 【钢铁侠3】【高清1280版HD-RMVB.英语中字】【2013最新美国票房科幻动作大片】...

    [钢铁侠3][高清1280版HD-RMVB.英语中字][2013最新美国票房科幻动作大片] 片名: 钢铁侠3 / Iron Man 3 导演: 沙恩·布莱克 编剧: 沙恩·布莱克 / 德鲁·皮尔斯 / ...

  6. vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...

    从一个数组中取部分值生成新数组,要实现此需求通常都是采用循环的方法来完成,那有没有更简易的思路呢? 借用jscript可以实现,直接取值,不用循环.例如从100000万中元素是取8000个值出来生成新 ...

  7. C语言程序设计:现代方法 中文高清PDF版下载

    C语言程序设计:现代方法 中文高清PDF版下载 转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/12/08/1619074.html

  8. SQL宝典(中文版) 高清PDF版下载

    SQL宝典(中文版) 高清PDF版下载 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/01/05/1639951.html

  9. 告诉你什么是挖洞最清奇的脑回路

    AirPlan Task1 And Task2 本文由prison翻译整理,原文地址:https://hshrzd.wordpress.com/201 - enge-tasks-1-and-2/ 黑客 ...

  10. PTA 统计工龄 思路分析及代码解析

    PTA 统计工龄 思路分析及代码解析v0.6 一.前导 1. 需要掌握的知识 2. 题目信息 二.解题思路分析 1. 题意理解 1. 1 输入数据 1.2 输出数据 2. 思路分析 三.具体实现 1. ...

最新文章

  1. 分类讨论 ---- 2020 icpc 上海 Walker (二分 or 思维分类讨论)
  2. zabbix2.4.5自带mysql监控
  3. linux shell oracle脚本_领导:如何用shell脚本统计Oracle数据库进程明细和存储过程信息...
  4. kitten编程猫里的函数定义,函数实现和函数调用原理
  5. ZOJ1101-赌徒【二分查找】
  6. Element表格嵌入复选框以及单选框
  7. mysql boolean 和bool_关于 MySQL 的 boolean 和 tinyint(1)
  8. 数据结构排序系列详解之六 树形选择排序
  9. 数数FastJson那些年犯下的'血案'...
  10. mysql 字段_【MySql】mysql 字段个数的限制
  11. Couchbase使用入门
  12. java技术选型文档模板_系统方案汇总文档
  13. 渗透测试常用WEB安全漏洞扫描工具推荐
  14. i3 10105f对比i5 10400f选哪个好
  15. 交换机级联后网速在底层交换机变慢的问题
  16. iPhone 导入照片显示时间不是拍摄时间
  17. python Pmw的模块下载
  18. 累死你的不是工作,而是工作方式
  19. 城市交通拥堵问题matlab,关于解决城市交通堵塞问题的数学模型的探究
  20. ES6的学习 数组的热闹循环

热门文章

  1. 小梅哥12——串口接收模块设计与验证
  2. 九州云入选创业邦2019企业数字化/智能化创新榜单
  3. SEO原创不等同于有价值
  4. 华为开发者大会2023—游戏中心PGS Codelabs活动,等您来玩!
  5. UWB室内人员定位系统的机遇与挑战
  6. 降压斩波Matlab仿真,MATLAB对降压斩波器的仿真实验123123
  7. C. Bouncing Ball(从后往前的前缀和)
  8. 虚拟主机建站的隐性成本
  9. 命令执行中关于PHP正则表达式的一些绕过方法
  10. python进阶-数据结构和算法