算法oj_q3_奇偶分离

/*奇偶数分离
时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述
有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。
输入
第一行有一个整数i(2<=i<30)表示有 i 组测试数据;
每组有一个整型偶数n。
输出
第一行输出所有的奇数
第二行输出所有的偶数
样例输入
2
10
14
样例输出
1 3 5 7 9
2 4 6 8 10 

1 3 5 7 9 11 13
2 4 6 8 10 12 14 

来源
[苗栋栋]原创
上传者
苗栋栋
*/
#include<iostream>
using namespace std;

int main(){
    int kase = 0;
    cin >> kase;
    for (int i = 0; i < kase; i++)
    {
        int n = 0;
        bool isFirst = true;
        cin >> n;
        for (int j = 1; j <= n; j+=2)
        {
            if (!isFirst)
                cout << " ";
            isFirst = false;
            cout << j;
        }
        cout << endl;
        isFirst = true;
        for (int k = 2; k <= n ; k+=2)
        {
            if (!isFirst)
                cout << " ";
            isFirst = false;
            cout << k;
        }
        cout << endl;
        cout << endl;
    }
    return 0;
}

//如果您发现博主算法哪里有问题,或者您有更好的算法,欢迎留下您的评论

时间: 2024-10-10 18:20:58

算法oj_q3_奇偶分离的相关文章

排序算法之奇偶排序 JAVA奇偶排序算法

奇偶排序法的思路是在数组中重复两趟扫描.第一趟扫描选择所有的数据项对,a[j]和a[j+1],j是奇数(j=1, 3, 5……).如果它们的关键字的值次序颠倒,就交换它们.第二趟扫描对所有的偶数数据项进行同样的操作(j=2, 4,6……).重复进行这样两趟的排序直到数组全部有序. public static void oddEvenSort(int[] arr){ int len = arr.length; int groupNumber = (int) Math.ceil((double)le

算法训练 数位分离

时间限制:1.0s   内存限制:512.0MB 问题描述 编写一个程序,输入一个1000 以内的正整数,然后把这个整数的每一位数字都分离出来,并逐一地显示. 输入格式:输入只有一行,即一个1000以内的正整数. 输出格式:输出只有一行,即该整数的每一位数字,之间用空格隔开. 输入输出样例 样例输入 769 样例输出 7 6 9 import java.util.Scanner; public class Main { public static void main(String[] args)

Hark的数据结构与算法练习之奇偶排序

算法说明 奇偶排序又叫奇偶换位排序,砖排序.它是一种交换排序,也是冒泡的一个变种 顾名思义,奇偶排序,其实就是先循环奇数位,然后将奇数位与偶数位比较计算. 然后再循环偶数位,再和奇数位比较运算.看一下代码大家就明白了. 据wiki所述,这种算法是一种并行算法,个人对这块现在不太理解,没明白这块所谓的并行是什么意思,现在只是完成了一个单机版,将来如果明白了再过来进行补充啦. 代码 使用的是java package hark.sort.exchangesort; /* * 奇偶排序 */ publi

c++第五次实验——数组分离

一.问题及代码 /* * 文件名称: 数组分离 * 作 者: 周亮 * 完成日期: 2016 年 5 月 10 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: 程序运用数组 * 输入描述: 输入十个数 * 问题描述: 将其分离 * 程序输出: 奇偶分离 * 问题分析: * 算法设计: */ #include<iostream> using namespace std; int main() { const int n=10; int a[n],b[n],c[n],i,j=0,k

数据结构与算法

1. 解决一个复杂的问题的时候,肯能先想到的是如何建模,建模之后,怎么去求解这个问题.求解一个问题的时候,需要用到算法的时候,我们应该想到的是该算法需要什么样的数据结构.可能涉及一个算法最原始的数据结构,可能就比较复杂. 怎么样对一个算法来进行优化,我想从学完数据结构的角度来谈谈,总共有3个方面: 第一:可能就是算法本身,比如在排序过程中,我们知道快速排序在相对的情况下,要比冒泡排序更加高效,这就是为什么都是排序,我们为什么不选择好的算法,从算法本身来下手呢? 第二:可能就是合适的数据结构,能够

常见hash算法的原理(转)

常见hash算法的原理 散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法.顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙. 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放记录的数组叫做散列表. 比如我们存储70个元素,但我们可能为这70个元素申请了100个元素的空间.7

常见hash算法的原理

转自:http://blog.csdn.net/zxycode007/article/details/6999984 散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法.顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙. 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放记录的

算法-蓝桥杯习题(二)

蓝桥杯习题 算法训练(111题) 1 /* 2 算法训练 明明的随机数 3 4 问题描述 5 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号.然后再把这些数从小到大排序,按照排好的顺序去找同学做调查.请你协助明明完成“去重”与“排序”的工作. 6 输入格式 7 输入有2行,第1行为1个正整数,表示所生成的随机数的个数: 8 N 9 第2

数据采样与处理算法

数据采样与处理算法 这里特别说明,输入量是作为周期函数的算法 ? 均方根算法(参考馈线终端单元的设计与实现-郭阳春) 均方根将所采集的离散型的采样点值计算得出电压电流的幅值,主要用于设备的测量功能,该算法不区分系统中的谐波干扰分量,得到是整体的有效值. 算法可以采用多个周期计算一次,在一周期计算一次的情况下,将采样点的采样值先进行平方计算,然后讲一个周期的N点采样值的平方顺序相加,然后将所得的N点采样值的平方和除以N再开放,就可以得到电气量的有效值. 傅立叶算法 傅立叶算法主要是用于将采集到的离