சில நேரங்களில், நாங்கள் சில ஸ்கிரிப்டை நிரலாக்குகிறோம் பாஷ் …. சில சீரற்ற எண்ணை உருவாக்க எங்களுக்கு (சில காரணங்களால்) தேவை.
அதற்கு நீங்கள் ஒரு முழு பயன்பாட்டையும் நிரல் செய்யலாம் (அல்லது செயல்பாடு...) ஆம், ஆனால்... ஆர்வமாக எங்கள் கணினி ஏற்கனவே அதைச் செய்துள்ளது.
ஒரு முனையத்தில், பின்வருவதைத் தட்டச்சு செய்து அழுத்தவும் [உள்ளிடவும்]:
எதிரொலி $ ரேண்டம்
…ஒரு எண் தோன்றும், அவர்கள் அதையே மீண்டும் செய்கிறார்கள், மற்றொரு எண் தோன்றும், மற்றும் பல
அது என்னவென்றால் 0 மற்றும் 32768 க்கு இடையில் ஒரு சீரற்ற எண்ணை (ஏதேனும்) காண்பிக்கும் (முழு எண், அதாவது கமா இல்லாமல்).
உங்களுக்கு இது ஒரு சீரற்ற எண்ணாக இருக்க வேண்டும் என்றால், ஆனால் 0 மற்றும் ... 100 க்கு இடையில், அந்த வரம்பை நீங்கள் அதில் வைக்கலாம்.
எதிரொலி $ (($ ரேண்டம்% 100))
அதே, மற்றொரு எடுத்துக்காட்டு ... இது 0 மற்றும் 29 க்கு இடையில் ஒரு எண்ணாக இருக்க விரும்பினால் அது பின்வருமாறு:
எதிரொலி $ (($ ரேண்டம்% 29))
புரிகிறது சரியா?
அவர்கள் செய்கிற பாஷ் ஸ்கிரிப்ட்டில் அதைப் பயன்படுத்தினால், உருவாக்கப்பட்ட மதிப்பை (ஒரு சீரற்ற எண்) ஒரு மாறிக்கு ஒதுக்க:
மாறுபடும் = `எதிரொலி $ (($ ரேண்டம்))`
சரி, இது தான், உங்களைப் பற்றி எனக்குத் தெரியாது ... ஆனால் அது ஒரு கட்டத்தில் எனக்கு பயனுள்ளதாக இருக்கும் என்று எனக்குத் தெரியும்.
மேற்கோளிடு
சரி, நான் அதை சோதித்து வருகிறேன், அது 4 இலக்க எண்ணை மட்டுமே தருகிறது, அதை எவ்வாறு பெரிதாக்குவது?
மிகவும் சுவாரஸ்யமான உதவிக்குறிப்பு, நன்றி.
0 மற்றும் 32768 க்கு இடையில் ஒரு எண்ணைத் தருகிறது, என்னால் பெரிய எண்களைப் பெற முடியவில்லை.
அது exadecimals ஐ உருவாக்க முடியுமா ????
மாறுபடும் = `எதிரொலி $ (($ ரேண்டம்))`
ரேண்டம் ஒரு மாறி மற்றும் நீங்கள் செய்யக்கூடிய எளிய காரணத்திற்காக இது செயல்படுகிறது, ஆனால் உகந்ததல்ல:
மாறி = $ ரேண்டம்
அது தான்! ஒரு முனையத்தில் எதிரொலியை இயக்க வேண்டாம் (இதுதான் நீங்கள் செய்கிறீர்கள்)
ஆமாம், வெளிப்படையாக இதை இப்படி அடைய முடியும் ... ஒரே வித்தியாசம் என்னவென்றால், பின்னர், மாறி எடுத்த எண்ணைப் பார்க்க (பயனர் ஒரு யூகிப்பவர் அல்ல), ஒரு எதிரொலி செய்ய வேண்டியது அவசியம் .... முடிவில், நான் இங்கு செய்வது ஆரம்பத்தில் இருந்தே எதிரொலியைச் செய்வதாகும் (இதனால் பயனர் என்ன எண் எடுக்கப்படுகிறார் என்பதைப் பார்க்கிறார்).
நான் என்னைப் புரிந்துகொள்கிறேனா? 🙂
சீரற்ற எண்ணை உருவாக்குவதற்கான மற்றொரு வழி, இந்த நேரத்தில் இது இந்த கட்டளையாக இருக்கும்:
தேதி "+% N" | வெட்டு -சி 9
இது 9 இலக்கங்களுடன் நானோ விநாடிகளில் தேதியைக் கொடுக்கும். நாங்கள் ஒரு உருவத்தை விரும்பினால், நீங்கள் "கட்-சி 9" ஐ வைக்கிறீர்கள் (கடைசி எண்ணிக்கை எப்போதும் சீரற்றதாக இருக்கும், ஏனெனில் இது எண்ணின் மிகச்சிறியதாகும்). நாம் 2 புள்ளிவிவரங்களை விரும்பினால், "வெட்டு - சி 8,9" ஐ வைக்கிறோம். நாம் மூன்று புள்ளிவிவரங்களை விரும்பினால், "வெட்டு-சி 7-9" (நாம் ஹைபனைப் பயன்படுத்தத் தொடங்குகிறோம்).
இதைப் பற்றிய ஒரே மோசமான விஷயம் என்னவென்றால், ஒரு வரிசையில் பல சீரற்ற எண்களை குறுகிய காலத்தில் பெற விரும்பினால், இது ஒரு நேரத்தின் தேதியை அடிப்படையாகக் கொண்ட ஒரு சீரற்ற எண். அதாவது, அந்த கட்டளையுடன் நாம் ஒரு செய்தால் அதைக் காணலாம்:
se நான் `செக் 1 1 500` இல்; தேதி "+% N"; முடிந்தது
...
...
...
308311367
310807595
313273093
315725181
318186139
320671403
323360117
325733353
328335462
330694870
333259893
335858999
338375622
340798446
...
...
...
இது தெளிவான உரிமை என்று நான் நினைக்கிறேன்? இடதுபுறத்தில் உள்ள புள்ளிவிவரங்கள் குறுகிய காலத்தில் மிகவும் ஒத்தவை, நிச்சயமாக, வலதுபுறத்தில் உள்ளவர்கள் “சீரற்றவை”.
மிமீ…. எனக்கு பிடித்திருந்தது, சீரற்ற எண்களை உருவாக்க எனக்கு ஒரு மினி ஸ்கிரிப்ட் உள்ளது, நன்றி.
இது சேவை செய்கிறது .. மற்றும் நிறைய ..
குறிப்பாக நீங்கள் கடவுச்சொல், பாதுகாப்பு போன்றவற்றைக் கொண்டு இடைமுகத்தை நிரலாக்கினால், ஹாஹா.
சிறந்த அப்ரோட்.
ஹலோ.
முதலில், நிச்சயமாக, இந்த சிறந்த வலைத்தளத்திற்கு வாழ்த்துக்கள், நான் நீண்ட காலமாக பின்பற்றி வருகிறேன்.
இரண்டாவதாக, இந்த இடுகைக்கு ஒரு சிறிய குறிப்பை உருவாக்கவும்:
வரம்பு இப்படி செய்யப்படும்போது:
எதிரொலி $ (($ ரேண்டம்% 10))
உண்மையில், மொழிபெயர்ப்பாளரை நீங்கள் கட்டளையிடுவது என்னவென்றால், நீங்கள் உருவாக்கிய எண் எப்போதும் அடுத்தடுத்த எண்ணின் மட்டு% (பிரிவின் எஞ்சியவை) ஆகும், இந்த எடுத்துக்காட்டில், 10.
10 ஆல் வகுக்கப்பட்ட எந்த எண்ணும் ஒருபோதும் வகுப்பாளராக இருப்பதை விட எஞ்சியதைக் கொடுக்காது.
பிரச்சனை என்னவென்றால், அது ஒரே எண்ணைக் கொடுக்காது, ஏனென்றால் 0 ஆல் ஒரு பிரிவு மொழிபெயர்ப்பாளருக்கு தர்க்கரீதியானதல்ல.
இதன் பொருள் எதிரொலி $ (($ RANDOM% 10) 0 மற்றும் 9 க்கு இடையில் முடிவுகளைத் தரும், ஆனால் ஒருபோதும் 10 ஆகாது.
இந்த மோதலுக்கான தீர்வு உங்கள் வரம்பில் ஒன்றைச் சேர்ப்பதாகும், இதனால் அதே எண் சீரற்ற வரம்பிற்குள் வரும்.
எதிரொலி $ (($ ரேண்டம்% 11))
இது 0 முதல் 10 வரை முடிவுகளைத் தரும்.
ஒரு வாழ்த்து.
வணக்கம், நான் இந்த மாதிரி ஒன்றைக் கட்டிக்கொண்டிருந்தேன், ஆனால் நான் ஒரு சிக்கலில் சிக்கினேன்.
நான் 6 முதல் 00 வரை 45 வெவ்வேறு எண்களை உருவாக்க விரும்புகிறேன் ஆனால் அவற்றை மீண்டும் செய்ய வேண்டாம்.
எதிரொலி $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($ ரேண்டம்%46))
EX: 17 33 16 36 45 27