تولید اعداد تصادفی با طول دلخواه و ثابت

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ~M*E*H*D*I~
    • 2011/10/19
    • 4377
    • 70.00

    تولید اعداد تصادفی با طول دلخواه و ثابت

    درود

    فرض کنید عدد رندوم 5 رقمی بخواهید تولید کنید :

    روش اول
    کد PHP:
    =RANDBETWEEN(10000;99999
    روش دوم
    کد PHP:
    =ROUND(RAND()*100000;0
    حالا اگر بخواهید این حالت داینامیک باشد یعنی شما 3 وارد کنید عدد رندم 3 رقمی 4 وارد کنید عدد رندم 4 رقمی و ....

    کافی است از فرمول زیر استفاده کنید

    کد PHP:
    =ROUND(RAND()*VALUE(1&REPT("0";B1));0
    سلول های ستون B حاوی عددی است که تعداد ارقام را مشخص میکند

    ایده های دیگری هست؟؟؟؟



    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]
  • حسام بحرانی

    • 2013/09/29
    • 2065
    • 72.00

    #2
    سلام
    یه راه ساده هم هست ؛
    فرض کنید در سل A1 تعداد رقم ها را نوشته اید و در سل B1 عدد تصادفی با تعداد ارقام A1 رو می خواین . در این صورت در B1 این فرمول رو بنویسید :

    کد PHP:
    =RANDBETWEEN(10^(A1-1);10^A1

    با سپاس
    ɦɛʂɑɱ ɓɑɦɾɑɳɨ
    [CENTER][B][SIZE=5][COLOR=#006600][FONT=georgia][COLOR=#800000]!With [/COLOR][/FONT][/COLOR][COLOR=#006600][FONT=georgia]God [/FONT][/COLOR][COLOR=#006600][FONT=georgia][COLOR=#800000]all [/COLOR][/FONT][/COLOR][COLOR=#800000][FONT=georgia]things are [/FONT][/COLOR][COLOR=#006600][FONT=georgia]possible[/FONT][/COLOR][/SIZE][/B][B][FONT=Tahoma]
    [/FONT][/B][/CENTER]
    [CENTER][B][FONT=Tahoma] [IMG]http://forum.exceliran.com/attachment.php?attachmentid=5334&d=1419428336[/IMG]
    [/FONT][/B][SIZE=1][FONT=Tahoma][B][FONT=Tahoma]
    [/FONT][/B][/FONT][/SIZE]
    [/CENTER]

    کامنت

    • ~M*E*H*D*I~
      • 2011/10/19
      • 4377
      • 70.00

      #3
      نوشته اصلی توسط حسام بحرانی
      سلام
      یه راه ساده هم هست ؛
      فرض کنید در سل A1 تعداد رقم ها را نوشته اید و در سل B1 عدد تصادفی با تعداد ارقام A1 رو می خواین . در این صورت در B1 این فرمول رو بنویسید :

      کد PHP:
      =RANDBETWEEN(10^(A1-1);10^A1

      با سپاس
      ɦɛʂɑɱ ɓɑɦɾɑɳɨ
      باید یک -1 اضافه بشه والا حد بالا هم محاسبه میشه یعنی مثلا وقتی a1 رو 2 قرار بدیم 100 رو هم شامل میشه
      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • sogmad

        • 2014/07/30
        • 120
        • 36.00

        #4
        نوشته اصلی توسط ~M*E*H*D*I~
        درود

        فرض کنید عدد رندوم 5 رقمی بخواهید تولید کنید :

        روش اول
        کد PHP:
        =RANDBETWEEN(10000;99999
        روش دوم
        کد PHP:
        =ROUND(RAND()*100000;0
        حالا اگر بخواهید این حالت داینامیک باشد یعنی شما 3 وارد کنید عدد رندم 3 رقمی 4 وارد کنید عدد رندم 4 رقمی و ....

        کافی است از فرمول زیر استفاده کنید

        کد PHP:
        =ROUND(RAND()*VALUE(1&REPT("0";B1));0
        سلول های ستون B حاوی عددی است که تعداد ارقام را مشخص میکند

        ایده های دیگری هست؟؟؟؟





        اون آخری رو متوجه نشدم !! حالت داینامیک یعنی چی !!؟؟ دقیقن چیکا میکنه !!؟؟

        کامنت

        • ~M*E*H*D*I~
          • 2011/10/19
          • 4377
          • 70.00

          #5
          نوشته اصلی توسط sogmad
          اون آخری رو متوجه نشدم !! حالت داینامیک یعنی چی !!؟؟ دقیقن چیکا میکنه !!؟؟
          یعنی اینکه طول عدد رو بتونید تغییر بدید یه براساس نتیجه یک فرمول دیگه طول عدد تغییر کنه
          [CENTER]
          [SIGPIC][/SIGPIC]
          [/CENTER]

          کامنت

          • امين اسماعيلي
            مدير تالار ويژوال بيسيك

            • 2013/01/17
            • 1198
            • 84.00

            #6
            نوشته اصلی توسط ~M*E*H*D*I~
            درود

            فرض کنید عدد رندوم 5 رقمی بخواهید تولید کنید :

            روش اول
            کد PHP:
            =RANDBETWEEN(10000;99999
            روش دوم
            کد PHP:
            =ROUND(RAND()*100000;0
            حالا اگر بخواهید این حالت داینامیک باشد یعنی شما 3 وارد کنید عدد رندم 3 رقمی 4 وارد کنید عدد رندم 4 رقمی و ....

            کافی است از فرمول زیر استفاده کنید

            کد PHP:
            =ROUND(RAND()*VALUE(1&REPT("0";B1));0
            سلول های ستون B حاوی عددی است که تعداد ارقام را مشخص میکند

            ایده های دیگری هست؟؟؟؟



            با درود
            یه سوال برام پیش اومد- تو فرمول دوم چرا وقتی به کارش میبریم یا حتی سومی امکان اینکه مثلا اگر سه رقمی خواستیم تولید بشه ممکنه دورقمی هم تولید کنه
            در پناه خداوندگار ایران زمین باشید و پیروز

            کامنت

            • حسام بحرانی

              • 2013/09/29
              • 2065
              • 72.00

              #7
              نوشته اصلی توسط امين اسماعيلي
              با درود
              یه سوال برام پیش اومد- تو فرمول دوم چرا وقتی به کارش میبریم یا حتی سومی امکان اینکه مثلا اگر سه رقمی خواستیم تولید بشه ممکنه دورقمی هم تولید کنه
              سلام،
              دلیل آن؛ استفاده از تابع
              Randدر فرمول است. طبق تعریف، این تابع اعداد تصادفی بین صفر و یک ( یعنی بزرگتر یا مساوی صفر و کوچکتر از یک ) را به ما می دهد.

              حال اگر عدد تصادفی تولید شده مضربی از
              دهم اعشار باشد ( بر فرض 0.1 و 0.2 و 0.3 و ... ) وقتی فرضاً در 1000000 ضرب شود عددی 5 رقمی به ما می دهد.

              اگر عدد تصادفی تولید شده مضربی از
              صدم اعشار باشد ( مثلاً 0.01 و 0.02 و 0.03 و ... ) باشد، عددی 4 رقمی به ما میدهد

              و اگر عدد تصادفی تولید شده مضربی از
              هزارم اعشار باشد، عددی 3 رقمی و به همین ترتیب اعداد 2 و 1 رقمی به ما می دهد.

              حال در ادامه این مطلب سؤالی برای عزیزان مطرح می کنم:

              چرا بیشترین اعداد تولید شده در تابع Rand در اکسل، بیشتر به سمت دهم اعشار است و کمتر به سمت صدم اعشار می رود و به همین ترتیب به ندرت هزارم اعشار و ... را تولید می کند؟ دلیل آن چیست؟
              سؤال دیگر اینکه: اساس تولید اعداد تصادفی ( ترجیحاً در اکسل ) چیست؟
              [CENTER][B][SIZE=5][COLOR=#006600][FONT=georgia][COLOR=#800000]!With [/COLOR][/FONT][/COLOR][COLOR=#006600][FONT=georgia]God [/FONT][/COLOR][COLOR=#006600][FONT=georgia][COLOR=#800000]all [/COLOR][/FONT][/COLOR][COLOR=#800000][FONT=georgia]things are [/FONT][/COLOR][COLOR=#006600][FONT=georgia]possible[/FONT][/COLOR][/SIZE][/B][B][FONT=Tahoma]
              [/FONT][/B][/CENTER]
              [CENTER][B][FONT=Tahoma] [IMG]http://forum.exceliran.com/attachment.php?attachmentid=5334&d=1419428336[/IMG]
              [/FONT][/B][SIZE=1][FONT=Tahoma][B][FONT=Tahoma]
              [/FONT][/B][/FONT][/SIZE]
              [/CENTER]

              کامنت

              • Amir Ghasemiyan

                • 2013/09/20
                • 4561
                • 100.00

                #8
                نوشته اصلی توسط حسام بحرانی
                چرا بیشترین اعداد تولید شده در تابع Rand در اکسل، بیشتر به سمت دهم اعشار است و کمتر به سمت صدم اعشار می رود و به همین ترتیب به ندرت هزارم اعشار و ... را تولید می کند؟ دلیل آن چیست؟
                سؤال دیگر اینکه: اساس تولید اعداد تصادفی ( ترجیحاً در اکسل ) چیست؟

                سلام حسام جان
                علتش فراواني بيشتر در اعداد چهار رقمي هست. مثلا بين 1 تا 9999 احتمال اينكه عدد يك رقمي باشه خيلي كمتر از اينه كه چهار رقمي باشه

                براي فهميدن اساس توليد اين اعداد لينك زير رو مطالعه بفرما :دي
                Random number generation - Wikipedia, the free encyclopedia

                کامنت

                • امين اسماعيلي
                  مدير تالار ويژوال بيسيك

                  • 2013/01/17
                  • 1198
                  • 84.00

                  #9
                  با درود
                  دلیلش رو میدونستم. ولی خوب باید نوشته میشد که 100 در 100 نیست
                  و Randbetween میتونه چاره ساز باشد
                  در پناه خداوندگار ایران زمین باشید و پیروز

                  کامنت

                  چند لحظه..