南阳oj_(11)奇偶数分离

本文介绍了一种简单的算法,用于将1到n之间的奇数和偶数进行分离并输出。通过两个循环分别处理奇数和偶数,该算法能够有效地实现题目要求的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

奇偶数分离

时间限制: 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 


我用的编译器是 CodeBlocks

我的代码:
#include<iostream>
using namespace std;
int main()
{
  int n;
  cin>>n;
  int a;
    while(n--)
    {
      cin>>a;
        for(int i=1;i<=a;i+=2)
        cout<<" "<<i;
            puts("");
        for(int i=2;i<=a;i+=2)
        cout<<" "<<i;
            puts("");
    }
}
 
   
最优代码:
#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a;
	while(n--)
	{
		scanf("%d",&a);
		for(int i=1;i<=a;i+=2)
			printf("%d ",i);
		puts("");
		for(int i=2;i<=a;i+=2)
			printf("%d ",i);
		puts("");
	}
} 


JavaScript实用范例词典011章 基础篇.... 1 1.1 使用JavaScript 1 1.2 使用VBScript 2 1.3 在JavaScript中使用变量... 2 1.4 检查变量的类型... 3 1.5 算术运算符... 4 1.6 比较运算符... 5 1.7 逻辑运算符... 6 1.8 递增、递减运算符... 7 1.9 算术赋值运算符... 8 1.10 三元运算符(条件运算符) 9 1.11 检查变量是否存在... 10 1.12 表达式的计算顺序... 11 1.13 条件选取(if) 12 1.14 多条件的选取if 13 1.15 双重选取(if) 14 1.16 多重选取if 15 1.17 switch流程控制... 16 1.18 重复执行(for) 17 1.19 重复执行(while) 18 1.20 危险(使用无穷循环冻结页面) 19 1.21110之间奇偶数分开... 20 1.22 声明数组... 21 1.23 取得数组的大小... 22 1.24 使用循环存取数组... 23 1.25 连结两个数组... 24 1.26 数组的排序(使用sort方法) 25 1.27 删除数组变量... 26 1.28 绝对值函数的使用abs() 27 1.29 四舍五入函数的使用round() 27 1.30 取整数函数的使用(ceil()与floor()) 28 1.31 平方根函数的使用(sqrt()) 29 1.32 取得两个数中的最大数(max())或 最小数(min()) 30 1.33 随机函数(random()) 31 1.34 圆形面积计算... 32 1.35 矩形面积计算... 33 1.36 三角形面积计算... 34 1.37 球体面积计算... 34 1.38 声明一个自定义的函数... 35 1.39 单击按钮时调用函数... 36 1.40 多个函数同时调用... 37 1.41 使用对象... 38 1.42 声明一个对象... 39 1.43 判断一个对象是否存在... 40 1.44 使用with省略对象名称... 41 1.45 用变量省略对象名称... 42 1.46 取得对象的编号... 43 1.47 定义CSS样式表... 44 1.48 取得类的名称... 45 1.49 在指定的时间调用函数... 46 1.50 在指定的时间反复调用函数... 47 1.51 加载一个外部的CSS样式表文件... 48 1.52 指定一个js文件作为JavaScript 来源... 49 1.53 指定外部Behavior文件作为 JavaScript的来源... 50 1.54 将数字转换为字符串... 51 1.55 将字符串转换成数字... 51 1.56 例外处理... 52
### XTU OJ 平台上的奇偶数位问题解析 处理奇偶数位的问题通常涉及对整数的每一位进行分析,判断其是处于奇数位置还是偶数位置。这类问题可以通过多种方法来实现,包括但不限于逐位取模运算和除法操作。 对于给定的一个正整数 `num`,可以采用如下算法来区分并计算奇偶位上的数值: #### 方法一:字符串转换法 通过将数字转化为字符串形式,可以直接访问每一个字符的位置索引来判定该位是在奇数位置还是偶数位置上[^1]。 ```python def odd_even_digits(num): num_str = str(num) result = {"odd": [], "even": []} for i, digit in enumerate(num_str): if (i % 2 == 0): # 如果索引为偶数,则认为这是奇数位(从左到右计数) result["odd"].append(int(digit)) else: result["even"].append(int(digit)) return result ``` 此函数返回一个字典,分别存储位于奇数位和偶数位上的所有数字列表。 #### 方法二:数学运算方式 不依赖于字符串转化,而是利用整数除法和取余操作逐步提取每位数字,并根据当前迭代次数决定是否属于奇数位或偶数位[^2]。 ```python def process_odd_even_positions(number): position = 1 # 初始化位置标记变量 even_sum = 0 odd_sum = 0 while number != 0: current_digit = number % 10 if position % 2 == 0: even_sum += current_digit else: odd_sum += current_digit number //= 10 position += 1 return f"Odd positions sum={odd_sum}, Even positions sum={even_sum}" ``` 上述代码实现了累加奇数位与偶数位各自对应的值总和的功能。 为了更好地理解如何应用这些技巧解决问题,在实际比赛中可能会遇到更复杂的要求,比如统计特定范围内满足某些条件的数字数量等扩展需求。因此建议多做练习加深理解和掌握不同场景下的解决方案设计能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值