Jump to content

Javascript: Prime or not

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
5 replies to this topic

#1
reachpradeep

reachpradeep

    Learning Programmer

  • Members
  • PipPipPip
  • 41 posts
This script is a slightly modified version of "Unique Random Numbers". In this script it becomes easier to implement more than one instances of "Picking Unique Random Numbers".

This JavaScript picks up a number of unique random elements from an array.
For example; if you have an array myArray consisting of 10 elements and want to pick 5 unique random elements. Suppose initially myArray[3] is picked randomly, then myArray[3] should not be picked again.

<html>

<head>

<title>Unique Random Numbers II</title>

<!--BEGIN HEAD SECTION CODE-->

<script language="JavaScript">

// Unique Random Numbers II

// -Picks a number of unique random numbers from an array

// By Premshree Pillai

// http://www.qiksearch.com, http://javascript.qik.cjb.net


function pickNums(nums, numArr, pickArr, count, doFlag, iterations)

{

 iterations+=1;

 var currNum = Math.round((numArr.length-1)*Math.random());

 if(count!=0)

 {

  for(var i=0; i<pickArr.length; i++)

  {

   if(numArr[currNum]==pickArr[i])

   {

    doFlag=true;

    break;

   }

  }

 }

 if(!doFlag)

 {

  pickArr[count]=numArr[currNum];

  document.write('<b>' + numArr[currNum] + '</b> <font color="#808080">|</font> ');

  /* Modify above line for a different format output */

  count+=1;

 }

 if(iterations<(numArr.length*3)) // Compare for max iterations you want

 {

  if((count<nums))

  {

   pickNums(nums, numArr, pickArr, count, doFlag, iterations);

  }

 }

 else

 {

  location.reload();

 }

}

</script>

</head>

<!--END HEAD SECTION CODE-->

<body bgcolor="#FFFFFF">


<!--BEGIN BODY SECTION CODE-->

<script language="JavaScript">

var numArr1 = new Array("0","1","2","3","4","5","6","7","8","9"); // Add elements here

var pickArr1 = new Array(); // The array that will be formed

var count1=0;

var doFlag1=false;

var iterations1=0;


pickNums(5, numArr1, pickArr1, count1, doFlag1, iterations1); // Call the function, the argument is the number of elements you want to pick.

             // Here we pick 5 unique random numbers

</script>

<!--END BODY SECTION CODE-->


</body>

</html>


#2
RikkoSuperb

RikkoSuperb

    Newbie

  • Members
  • PipPip
  • 20 posts
Very useful script reachpradeep, Im looking at the code to try to understand what is happening and why. Is it possible to alter the length of the array and its contents??
RikkoSuperb

#3
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
Nice code, but as your title suggests, what does this have to do with 'prime' numbers? ie) 3, 5, 7, 11, 13

#4
RikkoSuperb

RikkoSuperb

    Newbie

  • Members
  • PipPip
  • 20 posts
True enough Sidewinder, when you run the code you never seem to get 5 prime numbers
RikkoSuperb

#5
RikkoSuperb

RikkoSuperb

    Newbie

  • Members
  • PipPip
  • 20 posts
ah, I get you now.
// I suppose life does become clearer once you read the added comments...!
RikkoSuperb

#6
Khaotic

Khaotic

    Learning Programmer

  • Members
  • PipPipPip
  • 62 posts
Very nice +1
Check out my site: www.khaoticirc.net