{
  "type": "code_options",
  "author": "csdn.net",
  "source": "solution.md",
  "exercise_id": "f3be7867de2e4a7a9b1fc61f0e02dd2b",
  "keywords": "算法中阶,动态规划,最长公共子序列,高级设计和分析技术",
  "title": "数组元素循环右移问题",
  "desc": [
    {
      "content": "\n题目：一个数组A中存有N（>0）个整数，在不允许使用另外数组的前提下，将每个整数循环向右移M（≥0）个位置（最后M个数循环移至最前面的M个位置）。如果需要考虑程序移动数据的次数尽量少，要如何设计移动的方法？\n输入格式:\n每个输入包含一个测试用例，第1行输入N（1≤N≤100）和M（≥0）；第2行输入N个整数，之间用空格分隔。\n输出格式:\n在一行中输出循环右移M位以后的整数序列，之间用空格分隔，序列结尾不能有多余空格。\n输入样例:\n6 2\n1 2 3 4 5 6\n输出样例:\n5 6 1 2 3 4",
      "language": "markdown"
    }
  ],
  "answer": [
    {
      "content": "",
      "language": "cpp"
    }
  ],
  "prepared": [
    [
      {
        "content": "",
        "language": "cpp"
      }
    ],
    [
      {
        "content": "",
        "language": "cpp"
      }
    ],
    [
      {
        "content": "",
        "language": "cpp"
      }
    ]
  ],
  "template": {
    "content": "#include<stdio.h>\nint main()\n{\n\tint n,m,a[1000];\n\tscanf(\"%d %d\",&n,&m);\n\tm = m % n;\n\tint count=m;\n\twhile(m<n)\n\t{\n\t\tscanf(\"%d\",&a[m]);\n\t\tm++;\n\t}\n\tfor(int i=0;i<count;i++)\n\t\tscanf(\"%d\",&a[i]);\n\tint first=1;\n\tfor(int i=0;i<n;i++)\n\t{\n\t\tif(!first)printf(\" \");\n\t\tprintf(\"%d\",a[i]);\n\t\tfirst=0;\n\t}\n}",
    "language": "cpp"
  },
  "node_id": "dailycode-f90fe85642964ddf8bafa6d3959bfbe8",
  "license": "csdn.net",
  "created_at": 1637894160,
  "topic_link": "https://bbs.csdn.net/topics/600469865"
}