BASIC-13_蓝桥杯_数列排序】的更多相关文章

示例代码: #include <stdio.h>#include <stdlib.h> int main(void){ int n = 0 ; int i = 0 , j = 0 , min = 0; int *num ; scanf("%d",&n); num = (int*)malloc(sizeof(int)*n); for (i = 0 ; i < n ; i ++) { scanf("%d",&num[i]);…
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200 输入格式 第一行为一个整数n. 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000. 输出格式 输出一行,按从小到大的顺序输出排序后的数列. 样例输入 5 8 3 6 4 9 样例输出 3 4 6 8 9 这题调用Arrays.sort方法即可 import java.util.Arrays; import java.util.Scanner; public class Main { publi…
示例代码: #include <stdio.h>#include <stdlib.h> int main(void){ int n = 0 ; int i = 0 ,  max = 0 , min = 0 , sum = 0; int* num; scanf("%d",&n); num = (int *)malloc(sizeof(int)*n); for (i = 0 ; i < n ; i ++) { scanf("%d",…
问题描述 给出两个整数集合A.B,求出他们的交集.并集以及B在A中的余集. 输入格式 第一行为一个整数n,表示集合A中的元素个数. 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素. 第三行为一个整数m,表示集合B中的元素个数. 第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素. 集合中的所有元素均为int范围内的整数,n.m<=. 输出格式 第一行按从小到大的顺序输出A.B交集中的所有元素. 第二行按从小到大的顺序输出A.B并集中的所有元素. 第三行按从小到大的顺序输出B在…
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200 输入格式 第一行为一个整数n. 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000. 输出格式 输出一行,按从小到大的顺序输出排序后的数列. 样例输入 58 3 6 4 9 样例输出 3 4 6 8 9 注意: 刚开始把arr数组定义成了200个int大小,结果排序后输出五个0. import java.util.Arrays; import java.util.Scanner; public…
问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3. 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢? 输入格式 输入的第一行包含四个整数 n s a b,含义如前面说述. 输出格式 输出一行,包含一个整数,表示满足条件的方案数.由于这个数很大,请输出方案数除以100000007的余数. 样例输入 4 10 2 3 样例输出 2 样例说明 这两个数列分别是2 4 1 3…
这个题实际上思路是比较简单的,但是需要注意细节问题. 思路:读入数组之后进行排序,然后再求交.并.补集. 首先排序:(使用的是冒泡排序) #include<iostream> using namespace std; ]; ]; ]; ; ; ; void swap(int *a,int *b) { int temp = *a; *a = *b; *b = temp; } void sort(int a[],int n) { ; i < n; i++) { ; j < n-i; j…
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数. 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个.序列元素从1开始标号. 输出格式 总共输出m行,每行一个数,表示询问的答案. 样例输入 5 1 2 3 4 5 2 1 5 2 2 3 2 样例输出 4 2 数据规模与约定 对于30%的数据,n…
问题描述 输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素. 输入格式 10个整数. 输出格式 多行输出,每行一个元素. 样例输入 样例输出 解题思路: 若输入的数字存在数组中,剔除,否则存储 按从小到大的顺序排序,并输出 AC代码: #include <stdio.h> #define MAX 10 int main(void) { , j = , k = ; ]; ; k < MAX ; k ++) { scanf("%d",&arr[i++…
问题描述 道德经曰:一生二,二生三,三生万物. 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和.例如,d()=++=, d()=++++=. 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n)),d(d(d(n)))....例如,从33开始的递增序列为: , , , , , , , , , , , , , ... 我们把n叫做d(n)的生成元,在上面的数列中,33是39的生成元,39是51的生成元,等等.有一些数字甚至可以有两个生成元,比…