تولید یک عدد تصادفی 12 رقمی

hamedhedayat

New Member
سلام بچه ها یه برنامه با جاوا میخام که خروجیش تمام حالت های رندوم یک عدد 12 رقمی باشد تمام حالت ها رو می خام نشون بده ولی به صورت رندوم مر30 ( روش کار اصلا مهم نیست )
 

foranyone

Well-Known Member
نمایش تمام حالت های اعداد تصادفی غیر ممکنه چون در این صورت که دیگه عدد تصادفی نمیشه !!

ولی اگه عدد تصادفی 12 رقمی می خواین کدش رو بنویسم!
 

hamedhedayat

New Member
نمایش تمام حالت های اعداد تصادفی غیر ممکنه چون در این صورت که دیگه عدد تصادفی نمیشه !!

ولی اگه عدد تصادفی 12 رقمی می خواین کدش رو بنویسم!

اگه بنویسی ممنون می شم داداش
منظورم تمامی حال های یک عدد 12 رقمیه ولی بدون ترتیب باشه شما هم اگه کد خودتونو بنویسید کمک بزرگی کردید
 

foranyone

Well-Known Member
سلام :D

اینم از عدد تصادفی دوازده رقمی هنوزم میگم که نمیشه همهی حالت ها رو نوشت

یه توضیح مختصر در مورد کد :

تابع رندوم همیشه یک عدد تصادفی بین صفر و یک تولید می کنه که باید 100 ملیارد برابرش کنین تا 12 رقمی بشه

ولی این کار مشکل رو حل نمی کنه چون عدد هایی بازم وجود دارند که ممکنه 12 رقمی از آب درنیان و مثلا 10 رقمی باشند

حلقه for تا وقتی که 12 رقمی نشه در 10 ضربش می کنه

کد:
for(z=0;z<12;z++)
  if((i/1000000000000)*10<1)
  i*=10;

کد:
<html>
<head>
<title>To my friend!</title>
</head>
<body>
<script language="javascript">
  for(j=0;j<20;j++){
  i=Math.floor((Math.random())*1000000000000);
 
  for(z=0;z<12;z++)
  if((i/1000000000000)*10<1)
  i*=10;
 
  document.write(i);
  document.write('<br />');
  }
</script>
</body>
</html>

اینم خروجی کد :

کد:
964050391611
533295291746
448849690778
514600293632
406323660725
755325364648
254547674759
962937382839
304944765667
156232076957
439181932220
141366632550
759819326662
494187417313
893826487799
610386403960
498003292957
209188867232
822581998265
757464875715

موفق و شاد و پیروز باشید.
 
آخرین ویرایش:

peyman1987

Member
میشه این کار رو به راحتی انجام داد. الگوریتمش هم اینه که شما از 100000000000 تا 999999999999 رو داخل اندیسهای یه آرایه ذخیره میکنین و بعد آرایه رو shuffle میکنین. یعنی ترتیبشو بصورت رندوم عوض میکنین. اینجوری:

PHP:
for($intCounter = 100000000000;$intCounter <= 999999999999; $intCounter++)
$arrNumbers[] = $intCounter;       

shuffle($arrNumbers);
به همین سادگی حالا آرایه arrNumbers$ کلیه حالتهای اعداد 12 رقمی رو بصورت تصادفی داره.

موفق باشین
 

foranyone

Well-Known Member
میشه این کار رو به راحتی انجام داد. الگوریتمش هم اینه که شما از 100000000000 تا 999999999999 رو داخل اندیسهای یه آرایه ذخیره میکنین و بعد آرایه رو shuffle میکنین. یعنی ترتیبشو بصورت رندوم عوض میکنین. اینجوری:

PHP:
for($intCounter = 100000000000;$intCounter <= 999999999999; $intCounter++)
$arrNumbers[] = $intCounter;       
 
shuffle($arrNumbers);
به همین سادگی حالا آرایه arrNumbers$ کلیه حالتهای اعداد 12 رقمی رو بصورت تصادفی داره.

موفق باشین

دوست عزیز پیمان جان :

ایشون کد جاوا اسکریپت خواسته بودن !

در مورد کد شما هم فکر نکنم ذخیره کردن از 100000000000 تا 9 99999999999داخل اندیسهای یه آرایه کار خوبی باشه:sad:

از لحاظ طراحی الگریتم الگریتم باید حافظه ی کمتری رو تلف کنه این همه عدد رو تو یه آرایه ذخیره کردن می دونین چند بایت

میشه؟! بخصوص اینکه از نوع int هم هستن!

با تشکر از شما
 

peyman1987

Member
دوست عزیز پیمان جان :

ایشون کد جاوا اسکریپت خواسته بودن !

در مورد کد شما هم فکر نکنم ذخیره کردن از 100000000000 تا 9 99999999999داخل اندیسهای یه آرایه کار خوبی باشه:sad:

از لحاظ طراحی الگریتم الگریتم باید حافظه ی کمتری رو تلف کنه این همه عدد رو تو یه آرایه ذخیره کردن می دونین چند بایت

میشه؟! بخصوص اینکه از نوع int هم هستن!

با تشکر از شما

بله شما درست میگین. چون توی سوال زبان مطرح نشده بود منم متوجه محل زده شدن تاپیک نشدم و php گذاشتم

درباره مساله حافظه هم به نظرم نمیرسه راه دیگه ای جز این داشته باشیم. بازم شما درست میگین حافظه عجیب غریب زیادی مصرف میکنه.
 

جدیدترین ارسال ها

بالا