A community for students.
Here's the question you clicked on:
 0 viewing
ganeshie8
 one year ago
why does this function work
```
function is_composite(n){
return "1".repeat(n).match(/^1?$^(11+?)\1+$/);
}
```
https://jsfiddle.net/dy8t4vou/
ganeshie8
 one year ago
why does this function work ``` function is_composite(n){ return "1".repeat(n).match(/^1?$^(11+?)\1+$/); } ``` https://jsfiddle.net/dy8t4vou/

This Question is Closed

dan815
 one year ago
Best ResponseYou've already chosen the best response.0woah lol what is that so cool

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2javascript, try it in ur browser console

SolomonZelman
 one year ago
Best ResponseYou've already chosen the best response.1should be `\( \)`

SolomonZelman
 one year ago
Best ResponseYou've already chosen the best response.1don't really know what you are trying to make it look like if it is a latex question....

dan815
 one year ago
Best ResponseYou've already chosen the best response.0dang that looks so beautiful haha, i wish i knew what that syntax meant

SolomonZelman
 one year ago
Best ResponseYou've already chosen the best response.1i can't help. don't really get the result you desire to get.

SolomonZelman
 one year ago
Best ResponseYou've already chosen the best response.1screen shot or pic? (you can quite well draw it in colors and everything else with wio's extension for chrome which I am sure you have heard about...)

SolomonZelman
 one year ago
Best ResponseYou've already chosen the best response.1whatever. won't interrupt.

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2dw:1435258573923:dw

dan815
 one year ago
Best ResponseYou've already chosen the best response.0how much of the syntax are u able to understand?

SolomonZelman
 one year ago
Best ResponseYou've already chosen the best response.1you want to make that picture \(\normalsize\color{blue}{ 4 }\) \(\normalsize\color{blue}{ ^\text{______________________________________} }\) \(\normalsize\color{blue}{ 6 }\) \(\normalsize\color{blue}{ ^\text{______________________________________} }\) \(\normalsize\color{blue}{ 8 }\) \(\normalsize\color{blue}{ ^\text{______________________________________} }\) \(\normalsize\color{blue}{ 9 }\) \(\normalsize\color{blue}{ ^\text{______________________________________} }\) \(\normalsize\color{blue}{ 10 }\) \(\normalsize\color{blue}{ ^\text{______________________________________} }\) \(\normalsize\color{blue}{ 12 }\) \(\normalsize\color{blue}{ ^\text{______________________________________} }\) ??

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2I'm able to follow it till "why does this function work"

SolomonZelman
 one year ago
Best ResponseYou've already chosen the best response.1(I am not very good at this)

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2Haha typical programmer from math background

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2It's just a function that takes parameter "n" and returns "1" if the function is composite and "0" if it's not, i.e., it's prime.

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2You got it! you're ready to use the function !

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2Looks like it checks if it contains certain keywords in its binary representation.

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2thats very close, it actually converts the given number into unary number system

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2Or hex representation? I don't know.

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.25 = 11111 3 = 111 etc

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2"1".repeat(n) produces a string of "n" ones

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2All the percentages and pluses and questionmarks... oh dear.

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2for simplicty, we can condence it further. below also works for n > 1 : ``` function is_composite(n){ return "1".repeat(n).match(/^(11+)\1+$/); } ```

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2The problem is that I don't really know what that is. What I think here is that you should first generate the number (parameter n) by repeating 1 'n' times, then start a number that is not 1 or the number itself, keep repeating it and reach the parameter. If such a number exists, then the thing is composite.

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2Like it should definitely be a loop, but I don't know where it mentions it being a loop. What I see is that the .match is attached to the .repeat so does the .repeat function tell it to repeat or what?

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2consider an example in unary system `1111` is composite becuase it can be split as `11 11`

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2`11111` is not composite because it cannot be split as 2 ones or 3 ones or 4 ones groups

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2Yeah, makes sense. Where does it say that in the program? :

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2match() is a string matching function

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2it returns the match if it finds even groups of (11)+ otherwise it returns null

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2? looks like it's a conditional operator.

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2for example : "parthkohli".match(/java/) returns null

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2"parthkohli".match(/art/) returns true

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2OK, I gotcha. Of course. This thing is looping over the size of the groups, right? So I'm sort of understanding this thing. I guess it says something like, "does it form even groups of this size? If not, proceed to the next size." Is that what (11)+ means?

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2\(a+\) means 1 or more occurrences of \(a\)

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2`/^1?$^(11+?)\1+$/` Could you walk us through each and every symbol above? Also, please do it quickly, because my battery is gonna finish in 10 minutes...

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2lets look at the condensed expression `/^(11+?)\1+$/`

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2`^` matches start of string `$` matches end of string

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2`11+?` matches "two" or more occurrences of "1"

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2`\1` backreferences the previous matched stuff in a parenthesis : `(11+?)`

ganeshie8
 one year ago
Best ResponseYou've already chosen the best response.2look up "regular expressions" for more details their syntax mostly same in almost all programming languages

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2That is amazing. Wow.

ParthKohli
 one year ago
Best ResponseYou've already chosen the best response.2OK, good night then. Laterz.
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.