Uaireanta, bímid ag clárú roinnt script i Eabhrac …. agus caithfimid (ar chúis éigin) uimhir randamach a ghiniúint.
Chuige sin is féidir leat feidhmchlár iomlán (nó feidhm ...) a ríomh, sea, ach ... aisteach go bhfuil sin déanta ag ár gcóras cheana féin 😀
I gcríochfort, clóscríobh an méid seo a leanas agus brúigh [Iontráil]:
macalla $ RANDOM
... beidh uimhir le feiceáil, déanann siad an rud céanna arís agus feictear uimhir eile, agus mar sin de 🙂
Is é a dhéanann sé ná uimhir randamach (ar bith) a thaispeáint duit idir 0 agus 32768 (slánuimhir, is é sin, gan camóg).
Más gá duit gur uimhir randamach í, ach idir 0 agus ... abair 100, is féidir leat an teorainn sin a chur air 😀
macalla $ (($ RANDOM% 100))
Mar an gcéanna, sampla eile ... más mian leat gur uimhir í idir 0 agus 29 bheadh sé:
macalla $ (($ RANDOM% 29))
An dtuigtear nach bhfuil? 😀
Má úsáidfidh siad é i script bash atá á dhéanamh acu, chun an luach ginte (uimhir randamach) a shannadh d’athróg bheadh sé:
VARIABLE = `macalla $ (($ RANDOM))`
Bhuel, seo é, níl a fhios agam fút ... ach tá a fhios agam go mbeidh sé úsáideach dom ag pointe éigin hahaha.
Maidir is
10 trácht, fág mise
Bhuel, bhí mé á thástáil agus ní thugann sé ach uimhir 4 dhigit ar ais, conas is féidir liom í a dhéanamh níos mó?
Leid an-spéisiúil, go raibh maith agat.
Ag filleadh uimhir idir 0 agus 32768, níor éirigh liom uimhreacha níos mó a fháil.
agus an féidir leis exadecimals a ghiniúint ????
VARIABLE = `macalla $ (($ RANDOM))`
Oibríonn sé sin ach níl sé barrmhaith, ar an gcúis shimplí gur athróg é RANDOM agus is féidir leat a dhéanamh:
athróg = $ RANDOM
agus sin é! ná rith macalla in aprte teirminéil (is é sin atá á dhéanamh agat)
Sea, is léir gur féidir é a bhaint amach mar seo… is é an t-aon difríocht ná go gcaithfí macalla a dhéanamh níos déanaí chun an uimhir a thóg an athróg a fheiceáil (ós rud é nach buille faoi thuairim an t-úsáideoir). agus sa deireadh, is é an rud a dhéanaim anseo ach an macalla a dhéanamh (ionas go bhfeicfidh an t-úsáideoir an uimhir a thógtar) ón tús.
An dtuigim mé féin? 🙂
Bealach eile le huimhir randamach a ghiniúint, cé gurb é an t-ordú seo an uair seo:
dáta "+% N" | gearrtha -c 9
Thabharfadh sé sin an dáta dúinn i nanashoicindí le 9 ndigit. Má theastaíonn figiúr amháin uainn ansin cuireann tú an “cut -c 9” (bíonn an figiúr deireanach níos randamaí i gcónaí toisc gurb é an líon is lú é). Má theastaíonn 2 fhigiúr uainn cuirimid an “gearradh - c 8,9”. Má theastaíonn trí fhigiúr uainn ansin "cut -c 7-9" (tosaímid ag úsáid an fleiscín).
Is é an t-aon rud dona faoi seo ná má theastaíonn uainn go leor uimhreacha randamacha a fháil i ndiaidh a chéile i mbeagán ama, toisc gur uimhir randamach í seo atá bunaithe ar dháta lena cuid ama. Is é sin, má dhéanaimid iarracht leis an gceannas sin is féidir linn é sin a fheiceáil:
$ for i in `seq 1 1 500`; déan dáta "+% N"; déanta
...
...
...
308311367
310807595
313273093
315725181
318186139
320671403
323360117
325733353
328335462
330694870
333259893
335858999
338375622
340798446
...
...
...
Sílim go bhfuil sé soiléir ceart? Tá na figiúirí ar chlé níos cosúla i mbeagán ama, ar ndóigh, agus tá na figiúirí ar dheis níos “randamach”.
mmm…. Thaitin sé liom, tá mion-script agam, tá sé péinteáilte chun uimhreacha randamacha a ghiniúint, go raibh maith agat.
Freastalaíonn sé .. agus go leor ..
go háirithe má tá comhéadan á ríomhchlárú agat le pasfhocal, slándáil, srl, srl, srl haha.
Aprote den scoth.
Dia duit.
Ar dtús, ar ndóigh, comhghairdeas ar an suíomh Gréasáin den scoth seo, atá á leanúint agam le fada an lá.
Ar an dara dul síos, déan nóta beag leis an iontráil seo:
Nuair a dhéantar teorannú mar seo:
macalla $ (($ RANDOM% 10))
I ndáiríre, is é an rud a ordaíonn tú don ateangaire gurb é an uimhir a ghintear i gcónaí an modal% (an chuid eile den roinn) den uimhir ina dhiaidh sin, sa sampla seo, 10.
Ní thabharfaidh aon uimhir arna roinnt ar 10 rud éigin níos mó ná an roinnteoir féin mar fhuílleach.
Is í an fhadhb ná nach dtabharfaidh sé an uimhir chéanna ach an oiread, toisc nach bhfuil deighilt faoi 0 loighciúil don ateangaire.
Ciallaíonn sé seo go dtabharfaidh macalla $ (($ RANDOM% 10) torthaí idir 0 agus 9, ach ní 10 riamh.
Is é an réiteach ar an gcoinbhleacht seo ná ceann a chur le do theorainn, ionas go mbeidh an líon céanna laistigh den raon randamach.
macalla $ (($ RANDOM% 11))
Tabharfaidh sé seo torthaí idir 0 agus 10.
A Beannacht.
Dia duit, ní raibh mé ach ag tógáil rud éigin mar seo, ach bhí fadhb agam.
Ba mhaith liom 6 uimhir dhifriúla a dhéanamh ó 00 go 45 ach gan iad a dhéanamh arís.
macalla $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($ Randamach% 46))
EX: 17 33 16 36 45 27