題目:
1209.磊磊的隨機數
time limit: 1000 ms memory limit: 32768 kb
total submission(s): 327 accepted submission(s): 179
description
磊磊想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數(n≤100),對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成「去重」與「排序」的工作。
input
輸入有2行,第1行為1個正整數,表示所生成的隨機數的個數n
第2行有n個用空格隔開的正整數,為所產生的隨機數。
output
輸出也是2行,第1行為1個正整數m,表示不相同的隨機數的個數。第2行為m個用空格隔開的正整數,為從小到大排好序的不相同的隨機數。
sample input
1020 40 32 67 40 20 89 300 400 15
sample output
815 20 32 40 67 89 300 400
source
nanran
知識點:
1.set函式自動去重。
2.set函式自動公升序排列。
3.s.end()等為指標不能直接賦值或用cout列印需要加上*()。
4.s.end()不是set函式裡的最後乙個想要列印的元素,而是想要列印的元素的後一位,所以需要–。
5.s.end()不是/0.
#include
using
namespace std;
set<
int> s;
intmain()
int len,m,p=1;
len=s.
size()
; cout << len << endl;
for(set<
int>
::iterator it = s.
begin()
; it !=
--s.
end(
); it++
) cout <<*(
--s.
end())
;// 1.s.end()是乙個指標不能直接賦值給陣列。 2.it 是迭代器是乙個指標,不能作為陣列下標,需要重新定義乙個整型數作為陣列下標。3.要使得陣列下標變只需++,--,即可。
return0;
}
隨機數 偽隨機數
隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...
隨機數生成 偽隨機數和真隨機數
c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...
隨機數 科普 真隨機數和偽隨機數
位元幣使用者很喜歡討論 非對稱加密 橢圓曲線 量子計算機 這類高深莫測的話題,然後再以一種非常莫名其妙的方式把幣弄丟,比如說 隨機 隨機很重要,對於位元幣這種密碼學電子貨幣來說,尤其重要。可惜社群內對於隨機的討論並不多,導致很多人缺乏正確的認識,因此,我們今天就和大家聊聊隨機。說到隨機,有兩個必須要...