pat_1008
1008. 数组元素循环右移问题 (20)
一个数组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 ==========================================idea: 通过 N M 的计算, 在接收数据的时候 通过 实现计算 在 N 个数据经过 M次数的 循环右移 之后,
在数组中的位序是 怎样的, 可以将 原N 长度的数组分割为 [0, M-1] and [M , N-1]
在 经过 循环右移 之后 实质上 就是将这两个分割 位置进行 对调: [M , N-1] [0, M] 所以接收的时候 先将 0..N-M 在原始数组中的 数据 存放到 M, N-1 位序 对应的数组中
然后, 在接收 N-M+1 .. N 在原始数组中的 数据 存放到 0..M-1 为序对应的数组中。 最后,将存放好数据的数组 从 0.. N-1 进行输出 就会得到 对原始 输入的数组 进行循环 右移 M 次 的 新数组了 ===========================================src:
#include <stdio.h> int main ( )
{
int N, M , i ; int arr[] ; scanf ( "%d" , &N ) ;
scanf ( "%d" , &M ) ; for ( i =M ; i <=N- ; i++ )
{
scanf ( "%d" , &arr[i] ) ;
} for ( i = ; i <= M- ; i++ )
{
scanf ( "%d" , &arr[i] ) ;
}
for ( i = ; i <= N - ; i++ )
{
printf("%d", arr[i]) ;
if ( i != N- )
printf(" ") ;
} return ;
}
17/20 错了一个地方
pat_1008的更多相关文章
- PAT_1008 数组元素循环右移问题
题目描述: 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN ...
随机推荐
- 【转】LINUX系统I/O复用技术之二:poll() -- 不错
原文网址:http://www.cnblogs.com/alyssaCui/archive/2013/04/01/2993886.html poll poll或select为大部分Unix/Linux ...
- XUTils框架的学习(三)
前面两章说了xutils框架的引入和注解模块的使用和数据库模块的使用,想了解的朋友可以去看看. 前面在说数据库模块的操作的时候是手动创建数据库并保存在asset文件夹里面,再通过I/O将数据库写进应用 ...
- linux 以root用户登录ftp
ftp默认禁止以root用户登录. 可以修改 /etc/ftpusers 文件,把root注释掉,即可以root用户登录ftp
- Linux 修改默认文件关联打开程序
从总体上讲 /etc/gnome/defaults.list 保存了全局的打开方式-/.local/share/applications/mimeapps.list 保存了个人的打开方式当这两个文件不 ...
- 在 slua 中使用更新的面向对象方案
上一篇记录了我使用 Slua.Class 来实现面向对象扩展 C# 中得类,但实际使用中,更多地情况是直接在 lua 中定义基类然后扩展,于是触发了我重新思考下是否两种形式应该统一用一种,目前的方案中 ...
- Tornado源码探寻(开篇)
一.先从一个简单的socket说起 运行脚本并在浏览器上访问http://127.0.0.1:8080 #!/usr/bin/env python #coding:utf-8 import socke ...
- Java-String之寻根问底
Java-String之寻根问底 引言 在java编程中,几乎每天都会跟String打交道,因此,深入理解String及其用法十分有必要.下面分三方面来详细说明下String相关的特点及用法 •Imm ...
- php判断字符串是不是xml格式并解析
最近遇到要要判断一个字符串是不是xml格式,网上找到一段代码,试了一下,完全可行 /** * 解析XML格式的字符串 * * @param string $str ...
- 编译 Spring-framework的经验分享
Spring-framework source codegit url: git clone git://github.com/SpringSource/spring-framework.git 导入 ...
- MySQL执行计划 EXPLAIN参数
MySQL执行计划参数详解 转http://www.jianshu.com/p/7134286b3a09 MySQL数据库中,在SELECT查询语句前边加上“EXPLAIN”或者“DESC”关键字,即 ...