Պատահական թվեր՝ առանց կրկնությունների

Խնդրի ձևակերպում

Ենթադրենք, որ մենք պետք է ստեղծենք ամբողջ թվով պատահական թվերի հավաքածու՝ առանց կրկնությունների արժեքների տրված միջակայքում: Օրինակներ շարժման մեջ.

  • արտադրանքի կամ օգտագործողների համար եզակի պատահական կոդերի ստեղծում
  • մարդկանց հանձնարարել առաջադրանքներ (յուրաքանչյուրը պատահականորեն ցանկից)
  • բառերի փոխակերպում որոնման հարցում (բարև սէօ-շնիկամ)
  • լոտո խաղալ և այլն:

Մեթոդ 1. Պարզ

Սկսենք, եկեք դիտարկենք մի պարզ տարբերակ. մենք պետք է ստանանք պատահական 10 ամբողջ թվերի հավաքածու 1-ից 10-ը: Օգտագործելով Excel-ում ներկառուցված ֆունկցիան: ԳՈՐԾԻ ՄԻՋԵՎ (ԵՂԵՐԻ ՄԻՋԵՎ) եզակիությունը երաշխավորված չէ: Եթե ​​մուտքագրեք այն թերթիկի բջիջում և պատճենեք այն 10 բջիջով, ապա կրկնությունները հեշտությամբ կարող են տեղի ունենալ.

Պատահական թվեր՝ առանց կրկնությունների

Հետեւաբար, մենք կգնանք այլ ճանապարհով:

Excel-ի բոլոր տարբերակներն ունեն գործառույթ ԱՍՏԻՃԱՆ (RANG), որը նախատեսված է բազմության մեջ թվի վերին դիրքը դասակարգելու կամ, այլ կերպ ասած, որոշելու համար։ Ցուցակի ամենամեծ համարն ունի վարկանիշ=1, վերևում գտնվող երկրորդը՝ վարկանիշ=2 և այլն։

Եկեք մուտքագրենք ֆունկցիան A2 բջիջում SLCHIS (ՌԱՆԴ) առանց փաստարկների և պատճենեք բանաձևը 10 բջիջով: Այս ֆունկցիան մեզ կստեղծի 10 պատահական կոտորակային թվերի հավաքածու 0-ից մինչև 1:

Պատահական թվեր՝ առանց կրկնությունների

Հաջորդ սյունակում ներկայացնում ենք ֆունկցիան ԱՍՏԻՃԱՆյուրաքանչյուր ստացված պատահական թվի համար վարկանիշում դիրքը որոշելու համար.

Պատահական թվեր՝ առանց կրկնությունների

B սյունակում մենք ստանում ենք այն, ինչ ուզում էինք՝ 1-ից 10-ը չկրկնվող պատահական ամբողջ թվերի ցանկացած ցանկալի քանակ:

Զուտ տեսականորեն կարող է իրավիճակ ստեղծվել, երբ SLCHIS կտա մեզ երկու նույնական պատահական թվեր A սյունակում, դրանց շարքերը կհամընկնեն, և մենք կստանանք կրկնություն B սյունակում: Այնուամենայնիվ, նման սցենարի հավանականությունը չափազանց փոքր է, հաշվի առնելով այն փաստը, որ ճշգրտությունը 15 տասնորդական տեղ է:

Մեթոդ 2. Բարդ

Այս մեթոդը մի փոքր ավելի բարդ է, բայց օգտագործում է միայն մեկ զանգվածի բանաձև: Ենթադրենք, որ թերթիկի վրա պետք է ստեղծենք 9 չկրկնվող պատահական ամբողջ թվերի ցանկ՝ 1-ից 50 միջակայքում:

Մուտքագրեք հետևյալ բանաձևը A2 բջիջում, սեղմեք վերջում Ctrl + Shift + Մուտք (այն որպես զանգվածի բանաձև մուտքագրելու համար) և պատճենեք բանաձևը մինչև ցանկալի թվով բջիջներ.

Պատահական թվեր՝ առանց կրկնությունների

Մեթոդ 3. Մակրո

Եվ, իհարկե, դուք կարող եք լուծել խնդիրը՝ օգտագործելով ծրագրավորումը Visual Basic-ում: Պատահական նմուշառման մասին հին հոդվածներից մեկում ես արդեն մեջբերել էի Lotto array մակրո ֆունկցիան, որը տվյալ ինտերվալից արտադրում է պատահական չկրկնվող թվերի անհրաժեշտ քանակ։

  • Ինչպես հաշվել եզակի արժեքների քանակը տիրույթում
  • Ցանկից տարրերի պատահական ընտրություն

Թողնել գրառում