1008. 数组元素循环右移问题 (20)

原创 2018年04月16日 14:53:29

一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据

由(A0 A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数

据的次数尽量少,要如何设计移动的方法?

输入格式:每个输入包含一个测试用例,第1行输入N ( 1<=N<=100)、M(M>=0);第2行输入N个整数,之间用空格分隔。

输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。

输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
思路:数组A中后M个元素移动到前面,数组A[m+n],从A+m处开始读入数据,然后将后面m个数移动到前面。


#include <stdio.h>int main(){ int n, m; scanf("%d%d", &n, &m);
m = m%n;    //m可能大于n
  int a[n+m]; for(int i = 0; i < n; i++) scanf("%d", &a[m+i]); for(int i = 0; i < m; i++) a[i] = a[n+i]; printf("%d", a[0]); for(int i = 1; i < n; i++) printf(" %d", a[i]); return 0; }

PAT乙级1008. 数组元素循环右移问题 (20)

这道题写的有点投机取巧,题目本来要求 “在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置” “需要考虑程序移动数据的次数尽量少” 我则干脆不变序数组,直接用移出点进行输出。。。 ...
  • TimVan1596
  • TimVan1596
  • 2017-02-22 02:27:17
  • 265

Java - PAT - 1008. 数组元素循环右移问题 (20)

一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN...
  • qq_34594236
  • qq_34594236
  • 2016-06-18 22:23:56
  • 1565

1008. 数组元素循环右移问题 (20) python篇

1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 ...
  • zjw_python
  • zjw_python
  • 2017-03-16 19:07:01
  • 257

PAT Basic 1008. 数组元素循环右移问题 (20)(C语言实现)

题目 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1……A_N-1)变换为(A_N-M …… A_N-1 A...
  • Oliver__Lew
  • Oliver__Lew
  • 2017-05-18 23:44:45
  • 327

PAT(B)1008. 数组元素循环右移问题 (20)

思路:参考原文数组循环移位 #include using namespace std; //对数组a,逆序排列a[i]到a[j]的值 void Reverse(int a[], int i, ...
  • Pluto_1992
  • Pluto_1992
  • 2015-03-02 18:44:22
  • 232

PAT-B 1008. 数组元素循环右移问题 (20)

数组元素循环右移,要求不借助额外数组、元素移动次数最少。
  • Daniel960601
  • Daniel960601
  • 2017-02-08 20:53:22
  • 386

[PAT乙级]1008. 数组元素循环右移问题 (20)

1008. 数组元素循环右移问题 (20)原题链接 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1……AN-...
  • whl_program
  • whl_program
  • 2017-07-31 23:17:39
  • 290

PAT乙级:1008. 数组元素循环右移问题 (Java)

如果只是输出正确的结果我认为移动的应该不是元素,而是指针。只需要记录一下从什么地方开始向后遍历即可。 import java.util.Scanner;public class Main { p...
  • hengbao4
  • hengbao4
  • 2016-08-08 06:59:51
  • 613

PAT 乙级练习题1008. 数组元素循环右移问题 (20)

一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN...
  • ActionBeam
  • ActionBeam
  • 2017-09-07 21:23:59
  • 86

PAT乙级真题及训练集(6)--1008. 数组元素循环右移问题 (20)

1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B ...
  • u011662320
  • u011662320
  • 2017-06-15 21:48:03
  • 194
收藏助手
不良信息举报
您举报文章:1008. 数组元素循环右移问题 (20)
举报原因:
原因补充:

(最多只允许输入30个字)