| FAQ |
| Kalender |
|
|
|
|
#1 | ||
|
|||
|
Nykomling
|
Kod:
int startnumber = 55; Random rand = new Random((int)DateTime.Now.Ticks); int RandomNumber = rand.Next(startnumber + 20, startnumber + 1000); Bara lägga det i någon loop för att få ut flera värden. |
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Mycket flitig postare
|
hur menar du att den där skulle fungera? det finns inget som säger att två siffror inte får vara närmare än 10
|
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Har WN som tidsfördriv
|
Alltid kul med starta dagen med en tankeställare
![]() Kod:
class Program
{
static void Main(string[] args)
{
Random randomGenerator = new Random();
List<int> numbersList = new List<int>();
int generatedValue = 0;
int maxValue = 300;
bool passed = false;
// main loop
while (numbersList.Count != 20)
{
while (!passed)
{
generatedValue = randomGenerator.Next(0, maxValue);
passed = !numbersList.Any(x => (x > (generatedValue - 10)) && (x < (generatedValue + 10)));
}
passed = false; // reset passed flag
numbersList.Add(generatedValue);
}
// sort list in ascending order
numbersList.Sort();
// print-out
foreach (int value in numbersList)
{
Console.WriteLine(value.ToString());
}
Console.ReadKey();
}
}
Senast redigerad av jayzee den 2016-08-31 klockan 10:36 |
||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Flitig postare
|
Citat:
- Givet - Vi slumpar en siffra mellan 0 och 99 (vi kallar maxvärdet x) - Distributionen är uniform, det är alltså lika stor chans att få 1 som 10 (givet att x >= 10). - Ett 'försök' nedan är ett anrop till 'randomGenerator.Next'. - Vi vill hitta y siffror, te.x 5 och 15. - Exempel: - Försök 1: 0 returnerades. Ok - 1 till 10 är nu inte längre giltiga nummer. - Försök 2 till 10: De ogiltiga siffrorna 2 till 10 returnerades. - Försök 11: 11 returnerades. Ok. - Alltså: - Vid försök 1 är sannolikheten att få 0: 1/100 (100 siffror totalt mellan 0 och 99) - Chansen att få 11 är nu (10 / 100 - 1), alltså 11% då siffrorna 2 till 10 betyder att vi måste välja på nytt. - Tredje gången: (20 / 100 - 2). - Sista gången: 10 * (y - 1) / (x - y - 1) Det är alltså större chans att få en senare vald siffra än en tidigare. Generellt sett skulle ja inte rekommendera den här metoden. |
||
|
|
Svara med citat
|
| Svara |
|
|