1683: HH的随机数

2024-04-15 12:48
文章标签 随机数 hh 1683

本文主要是介绍1683: HH的随机数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1683: HH的随机数

1.描述

HH想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

输入
有2行,第1行为1个正整数,表示所生成的随机数的个数:
N
第2行有N个用空格隔开的正整数,为所产生的随机数。

输出
也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

样例输入
10
20 40 32 67 40 20 89 300 400 15
样例输出
8
15 20 32 40 67 89 300 400

2.代码

#include<stdio.h>
#include<string.h>
int main()
{int n,i,x=0,j,t=0;int a[10000];scanf("%d",&n);for(i=0; i<n; i++){scanf("%d",&a[i]);}for(i=0; i<n-1; i++){for(j=i+1; j<n; j++){if(a[i]==a[j]){x++;a[i]=-1;}}}for(i=0; i<n-1; i++){for(j=i+1; j<n; j++){if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}}}printf("%d\n",n-x);for(i=0; i<n; i++){if(a[i]>=0){printf("%d ",a[i]);}}return 0;
}

这篇关于1683: HH的随机数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/905857

相关文章

明明的随机数处理问题分析与解决方案

明明的随机数处理问题分析与解决方案 引言问题描述解决方案数据结构设计具体步骤伪代码C语言实现详细解释读取输入去重操作排序操作输出结果复杂度分析 引言 明明生成了N个1到500之间的随机整数,我们需要对这些整数进行处理,删去重复的数字,然后进行排序并输出结果。本文将详细讲解如何通过算法、数据结构以及C语言来解决这个问题。我们将会使用数组和哈希表来实现去重操作,再利用排序算法对结果

Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类

废话不多说,贡献一下code 1.编号生成工具 import org.apache.commons.lang3.StringUtils;import java.math.BigInteger;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/*** 编号生成工具*/@

【COGS】421 [SDOI2009] HH的项链 树状数组

传送门:【COGS】421 [SDOI2009] HH的项链 题目分析:将区间以右端点为关键字降序排序,然后从左到右依次遍历每个数并插入到树状数组中,如果遍历到一个数的时候在他的前面已经有一个相同的数时,将之前位置上的数从树状数组中删除。然后我们每处理完一个位置上的数后,看这个位置上是否有右端点,如果有则做一次求和,这个右端点属于的区间【L,R】的值即sum(R)-sum(L-1)。

Cocos2dx 3.0 过渡篇(五) 随机数的获取

1、简单的随机数用法:CCRANDOM_0_1 示例如下: [cpp] int HelloWorld::getRand(int start,int end)  {   float i = CCRANDOM_0_1()*(end-start+1)+start;  //产生一个从start到end间的随机数   return (int)i;  }   2、上述的方法虽然简便,但是运行

(php伪随机数生成)[GWCTF 2019]枯燥的抽奖

审核源码发现加载check.php,审计发现使用了mt_rand()函数,这个函数生成的值是伪随机的 参考下面这篇文章 PHP mt_rand安全杂谈及应用场景详解 - FreeBuf网络安全行业门户 kali里面输入下载工具 git clone https://github.com/openwall/php_mt_seed.git cd进去输入make后编译出的文件先

STM32G474之随机数发生器

STM32G474一个RNG设备,它能提供由“集成模拟电路”生成的32位随机数,是硬件随机数发生器。在C语言中,若包含头文件“stdlib.h”,我们就可以使用有rand()函数,它是C语言中用于生成随机数的函数。 1、“随机数”的应用 1)、一般用“随机数”作为延时函数的传递参数,来获取不同的延时时间。在多主机通讯系统中,要求时间同步采集数据,但是数据传输,若发生在同一时刻,通讯就会发生碰撞

【hh大神的】Tarjan + 缩点 模板

此模板来自 notonlysuccess 原文链接: http://www.notonlysuccess.com/index.php/tarjan/ 大神就是吊啊。 不多说了,想学tarjan ,资料网上是有一堆的 怎么说。。我现在理解的还不算太透彻,但用模板总行吧 这里只存一下模板 使用时注意清空和存图! (基于个人习惯,稍微有些小改动) #define

取Random范围内的随机数

Random rand = new Random();        int m = rand.nextInt(); //int范围类的随机数        int n = rand.nextInt(100); //0-100范围内的随机数      包含0,不包含100.

linux 随机数生成原理

简介 在信息学中,信息熵是用来描述系统混乱无序程度的物理量;系统的熵越大,系统就越无序,所含有用信息量越少,不确定度越大。 Linux内核中有一个熵池设备,专门收集来自系统环境的一些噪音,来产生高质量随机数序列;这些噪声主要来自于硬件设备发生中断的时间,用户点击鼠标的时间间隔,硬件噪声,磁盘活动等 /dev/random与/dev/urandom 这两个字符设备文件都是利用Linux内

SQL循环生成随机数

DECLARE @i INTDECLARE @dian DECIMAL(7,2)SET @i = 1WHILE @i < 40BEGINSET @dian = rand()*1000INSERT INTO tbl_energy_electricity_hour_201701([value])VALUES(CAST(@dian AS DECIMAL(7,2)))SET @i = @i + 1end