WEEKLY CHALLENGES #1
Hello all replers! Today, I'm going to be announcing something new and fun for you all. We're introducing WEEKLY CHALLENGES!.
So, what are these weekly challenges? These are small beginner-friendly programming problems for the community to solve. We will be posting one of these every week. After 1 week of posting the challenge, we'll stop accepting any answers for the current challenge and post a new one, (although, you can still solve these for fun or just to learn something new).
And, what's in it for me? We will grade your submissions for each challenge you attempt. By the end of the month, the person to have the highest total score will be awarded 1 month of free hacker plan!!
HOW DO I SUBMIT? You can submit your answers by sharing the repls to the share board of repl talk and ensure that the name of the post contains #WEEKLY
(in all caps, this will help us filter your submissions).
Now that all the introductions are done, let's get to the point, i.e. this week's weekly challenge!
Multiplication!
For this week's weekly challenge, you will need to write a program that multiplies 2 numbers. BUT, there's a twist. You are NOT ALLOWED to use the multiplication operator (*) or loops(for
, while
or any other that your prefered language may support, goto
also counts as a loop). You cannot use any external libraries and anything else is allowed.
QUICK NOTE : Since these challenges are very easy, this should be obvious but we will not only be judging your output but also your code. The actual marking scheme will remain hidden though.
What if you already have hacker plan? Will they change the expiring date of the hacker plan?
Here's my esoteric solution, leveraging the fact that for any number a
in base b
, a << 1
(append a 0 to the end) is a * b
.
Note: Only works if 2 <=
b
<= 36, and botha
andb
is an integer.
parseInt( a.toString(b) + '0', b );
can you use a module where you can just do
mathmodule.multiply(a,b)
@AgastyaSandhuja i would assume no becouse in that it uses the * but i could be wrong
not allowed hacker lmao
@AgastyaSandhuja
NO @AgastyaSandhuja there should be no use of any multiplication operator or loops or external modules.
ok lol @TheDrone7
x = 69 y = 420 z = round(x / (1 / y)) print(z)
dude python lmao
@dotcomboom you might need to count for the zerodivisionerror edge case, in the event that y is 0.
@eric_wang Good point, here's my updated version:
def multiply(x, y): if y == 0: return 0 return round(x / (1 / y)) print(multiply(69, 420))
Awesome free hacker plan here I come
are multiple submissions valid? @TheDrone7
do recursive functions count as loops?
No, they don't. @Lord_Poseidon
@TheDrone7 YEET. I already cooked up a dumb method involving map, strings, lists and binary arithmetic. Are multiple submissions allowed?
No @Lord_Poseidon only submit the one you think will score the most.
without even knowing how code is judged? This is sad :(
if i do it in brainf can i use loops
So there can be no loops in a code file (py, cpp, js, etc)
And does the math have to be done in the program?
CMON CODEMONKEY TOOK MY IDEA I NEED A LOOPHOLE NOW!
const multiply=require("multiplier");
function multiple(num1, num2){
return multiply(num1, num2);
}
console.log(multiple(5, 5))
will python chr()
and eval()
work?
chr - yes. eval - no. @ChezCoder
@TheDrone7 oh ok
https://repl.it/@eartharoid/WEEKLY-1
not sure if an interval counts as a loop
probably a terrible way to do it, but it works. :)
Intervals do count as loops. @eartharoid
Quick question, can I use for_each()
? Not to multiply the number directly, but it's for a list
Nope @DynamicSquid no loops allowed.
Wait, so I can still use #include <something>
, right?
@DynamicSquid I haven't touched C++ in a while, but I think header files count as external libraries. Idk, it's up to @TheDrone7.
@AtriDey but like, i'm assuming we can use iostream, so I think @TheDrone7 is referring to things withing the standard namespace
@DynamicSquid Yeah, no iostream
is sorta harsh. Since stdio.h
is also a header, I guess some exceptions have to be made. I guess we wait for @TheDrone7.
@DynamicSquid iostream and iomanip should be allowed (or in C, stdio and stdlib), but I think others that add functionality to the language that is not required (sorry, I think maybe even vector) are not allowed.
You can use any modules from the standard library of the language, just not external modules that don't come built in with the language. @AmazingMech2418
@TheDrone7 ah, cool, thanks
Everyone's doing double division. Be more creative smh.
@BenjaminUrquhar it's the fastest way to solve the problem, would you ever want a slow function in your program if you can have a fast one that does the same thing?
@BenjaminUrquhar smh but in ruby you can divide by zero so it's perfect
@CodingCactus I'm not going for efficiency. If I was I'd just use the multiplication operator directly.
@BenjaminUrquhar I personally prefer string-based math for this one...
Here's my submission! https://repl.it/talk/share/Multiply-WEEKLY-Usage-of-math-module/36174 I think its unique! YAY!
sounds fun epic ngl
done it!
nice
Cooll
big brain time @RohilPatel
I have a sneaky plan, and it'll work.... use ur math @Coder100
very big @Coder100
lmfao i alread y finsihed @RohilPatel
lmfao i did it! here @AgastyaSandhuja
I'm done [email protected]
I posted mine. Look at it lmao @Coder100
wher @RohilPatel
It's on share. I'll dm u link on discord
@Coder100
Hrmmm
Sounds fun!
que
In LOLCODE can you use the
PRODUCKT
function?