【NOIP普及组】明明的随机数

【NOIP普及组】明明的随机数

      • C语言实现
      • C++实现
      • Java实现
      • Python实现


💐The Begin💐点点关注,收藏不迷路💐

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了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

C语言实现

#include <stdio.h>
#include <stdlib.h>#define MAX_N 100// 比较函数,用于qsort
int compare(const void * a, const void * b) {return ( *(int*)a - *(int*)b );
}int main() {int n;int numbers[MAX_N];int unique_numbers[MAX_N];// 读取随机数的个数Nscanf("%d", &n);// 读取N个随机数for (int i = 0; i < n; i++) {scanf("%d", &numbers[i]);}int unique_count = 0;// 遍历所有随机数,进行去重操作for (int i = 0; i < n; i++) {int is_duplicate = 0;for (int j = 0; j < unique_count; j++) {if (numbers[i] == unique_numbers[j]) {is_duplicate = 1;break;}}if (!is_duplicate) {unique_numbers[unique_count] = numbers[i];unique_count++;}}// 对去重后的数组进行排序qsort(unique_numbers, unique_count, sizeof(int), compare);// 输出不相同的随机数的个数printf("%d\n", unique_count);// 输出排好序的不相同的随机数for (int i = 0; i < unique_count; i++) {printf("%d ", unique_numbers[i]);}printf("\n");return 0;
}

C++实现

#include <iostream>
#include <algorithm>
#include <vector>int main() {int n;std::vector<int> numbers;std::vector<int> unique_numbers;// 读取随机数的个数Nstd::cin >> n;// 读取N个随机数并存入vectorfor (int i = 0; i < n; ++i) {int num;std::cin >> num;numbers.push_back(num);}int unique_count = 0;// 遍历所有随机数,进行去重操作for (int num : numbers) {if (std::find(unique_numbers.begin(), unique_numbers.end(), num) == unique_numbers.end()) {unique_numbers.push_back(num);unique_count++;}}// 对去重后的vector进行排序std::sort(unique_numbers.begin(), unique_numbers.end());// 输出不相同的随机数的个数std::cout << unique_count << std::endl;// 输出排好序的不相同的随机数for (int num : unique_numbers) {std::cout << num << " ";}std::cout << std::endl;return 0;
}

Java实现

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int[] numbers = new int[n];// 读取N个随机数for (int i = 0; i < n; i++) {numbers[i] = scanner.nextInt();}// 使用HashSet进行去重HashSet<Integer> uniqueSet = new HashSet<>();for (int num : numbers) {uniqueSet.add(num);}// 将HashSet中的元素转换为数组以便排序Integer[] uniqueArray = uniqueSet.toArray(new Integer[0]);// 对去重后的数组进行排序Arrays.sort(uniqueArray);// 输出不相同的随机数的个数System.out.println(uniqueArray.length);// 输出排好序的不相同的随机数for (int num : uniqueArray) {System.out.print(num + " ");}System.out.println();scanner.close();}
}

Python实现

n = int(input())# 读取N个随机数
numbers = list(map(int, input().split()))# 使用集合进行去重
unique_numbers = list(set(numbers))# 对去重后的列表进行排序
unique_numbers.sort()# 输出不相同的随机数的个数
print(len(unique_numbers))# 输出排好序的不相同的随机数
print(" ".join(map(str, unique_numbers)))

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/3549.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

python中t是什么意思

python中t是什么意思&#xff1f; python中t指的是“\r”&#xff1a;回车符&#xff0c;返回到这一行的开头&#xff0c;return的意思。 其他相关&#xff1a; \n&#xff1a;换行符&#xff0c;到下一行的同一位置&#xff0c;纵坐标相同&#xff0c;new line的意思。 \t…

OracleJDK与OpenJDK的区别(附带win11下多版本jdk安装)

OracleJDK与OpenJDK的区别&#xff08;附带win11下多版本jdk安装&#xff09; 在Java开发领域&#xff0c;OracleJDK与OpenJDK是两个常被提及的名词&#xff0c;它们都是Java开发工具包&#xff08;JDK&#xff09;的实现&#xff0c;但各自具有不同的特点和优势。在早期的jav…

代码随想录算法训练营第三十一天 | 56.合并区间 738.单调递增的数字 968.监控二叉树

LeetCode 56.合并区间&#xff1a; 文章链接 题目链接&#xff1a;56.合并区间 思路&#xff1a; ① 合并所有重叠的区间&#xff0c;合并后的区间数组不重叠&#xff0c;因此下面两种多区间重叠&#xff0c;其中的区间都要进行合并 ② 合并区间&#xff1a;因为情况2也算作…

[ComfyUI]FaceAging:太好玩啦!FaceAging终于装好了!负50到正100岁随心调整!超强又难装的节点安装教程来了! Comfyui教程

大家好&#xff01;今天我要向大家介绍一个超级有趣的话题——[ComfyUI]FaceAging&#xff01;这个工具能够让你轻松实现人脸年龄的调整&#xff0c;从负50岁到正100岁&#xff0c;让你的创作更加有趣和独特。 想象一下&#xff0c;你有一个强大的AI助手&#xff0c;它能够根据…

蓝桥杯真题——乐乐的序列和(C语言)

问题描述 乐乐在玩一个游戏&#xff0c;她有一排宝石&#xff0c;每个宝石上都刻有一个整数值。她的目标是从中挑选出一些宝石&#xff0c;使得选出的宝石数量为偶数&#xff0c;且这些宝石上的数字总和最大。如果不选任何宝石&#xff08;即选出宝石数量为 00&#xff0c;也是…

猫用宠物空气净化器哪个牌子好?求噪音小的宠物空气净化器推荐!

最近真是烦躁到了顶峰&#xff01;猫咪换毛季太折磨人了&#xff0c;白天上班累的要死&#xff0c;晚上回家还要和猫毛斗争。每天回家都是一场豪赌&#xff0c;需要花费的清理时间取决于家里的猫毛散落程度。有时候忙起来完全不想管&#xff0c;回到家只想躺着。 但最近身体出…

redis7学习笔记

文章目录 1. 简介1.1 功能介绍1.1.1 分布式缓存1.1.2 内存存储和持久化(RDBAOF)1.1.3 高可用架构搭配1.1.4 缓存穿透、击穿、雪崩1.1.5 分布式锁1.1.6 队列 1.2 数据类型StringListHashSetZSetGEOHyperLogLogBitmapBitfieldStream 2. 命令2.1 通用命令copydeldumpexistsexpire …

32位汇编——通用寄存器

通用寄存器 什么是寄存器呢&#xff1f; 计算机在三个地方可以存储数据&#xff0c;第一个是把数据存到CPU中&#xff0c;第二个把数据存到内存中&#xff0c;第三个把数据存到硬盘上。 那这个所谓的寄存器&#xff0c;就是CPU中用来存储数据的地方。那这个寄存器有多大呢&a…

1.1 OpenCV准备工作

介绍了如何在Windows系统中配置Python和Anaconda环境&#xff0c;并安装OpenCV库。首先从Python官网下载并安装Python&#xff0c;然后配置环境变量。接着安装Anaconda&#xff0c;并通过Anaconda Navigator或Prompt管理包。最后&#xff0c;在Anaconda Prompt中使用pip命令安装…

在gitlab,把新分支替换成master分支

1、备份master分支&#xff0c;可以打tag 2、删除master分支 正常情况下&#xff0c;master分支不允许删除&#xff0c;需要做两个操作才能删除 a、变更项目默认分支为非master分支&#xff0c;可以先随便选择 b、取消master为非保护分支 操作了上述两步&#xff0c;就可以删…

【专题】产业全球化视角下中国企业出海人才趋势洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38107 在当今全球化进程不断加速的时代背景下&#xff0c;出海业务已成为众多企业拓展市场、实现可持续发展的重要战略方向。随着世界经济的紧密联系&#xff0c;不同国家和地区的市场机遇与挑战并存。文末202份出海行业研究报告最新…

uniapp vue3 使用echarts-gl 绘画3d图表

我自己翻遍了网上&#xff0c;以及插件市场&#xff0c;其实并没有uniapp 上使用echarts-gl的样例&#xff0c;大多数都是使用插件市场的echarts的插件 开始自己尝试直接用echartsgl 没有成功&#xff0c;后来尝试使用threejs 但是也遇到一些问题&#xff0c;最后我看官网的时…

世窗健康亮相第三届中国营养师发展大会——AI赋能营养健康 共建人类健康共同体

近日,为贯彻落实《“健康中国2030”规划纲要》,加强营养健康人才队伍建设,推动中国营养健康产业迈向高质量发展。由中国营养师发展大会组委会主办,全国各地营养师协会等多家机构共同发起的第三届中国营养师发展大会在石家庄市成功举办。作为深耕数字健康领域多年的综合服务运营…

基于 GADF+Swin-CNN-GAM 的高创新轴承故障诊断模型

往期精彩内容&#xff1a; Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

ubuntu20.04安装ros与rosdep

目录 前置配置 配置apt清华源 配置ros软件源 添加ros安装源&#xff08;中科大软件源&#xff09; 设置秘钥 更新源 ros安装 安装ros 初始化 rosdep 更新 rosdep 设置环境变量 安装 rosinstall 安装验证 启动海龟仿真器 操控海龟仿真器 rosdep安装更新 安装 使用…

20241105,LeetCode 每日一题,用 Go 实现两数之和的非暴力解法

题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 …

【C++】C++的单例模式

二十四、C的单例模式 1、C的单例模式 本小标题不是讨论C的语言特性&#xff0c;而是一种设计模式&#xff0c;用于确保一个类在任何情况下都只有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。即C的单例模式。这种模式常用于资源管理&#xff0c;如‌线程池、‌缓…

软考的项目管理认证和PMP认证哪个含金量高?

软考高项比较适用于计算机 IT 行业&#xff0c;而 PMP 不受行业限制&#xff0c;各行各业都适用&#xff0c;没有哪个含金量更高的说法 至于哪个更合适&#xff0c;看你想去国企还是民企&#xff0c;国企软考吃香&#xff0c;外企PMP 吃香 两者具体有什么区别呢~~ 一、概念区…

比ChatGPT更牛!苹果新AI模型刷新交互体验!能看懂你的手机屏幕!平板和安卓机也都行

家人们&#xff0c;苹果一直在悄悄进步&#xff01; 近期&#xff0c;据小鹿观察&#xff0c;各大科技巨头不仅在提升模型解决复杂问题的能力上竞争激烈&#xff0c;而且还在大语言模型应用于用户界面&#xff08;UI&#xff09;交互方面上暗暗发力&#xff01; 最近&#xf…

C++练习题(1)

//C交换两个数的值 #include <iostream> using namespace std; int main() { int a,b,temp; scanf("%d %d",&a,&b); tempa; ab; btemp; printf("%d %d",a,b); return 0; } //C交换两个数的值 #include <…