D•Scribe
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
Persona3Reload@lemmy.blahaj.zone to 196@lemmy.blahaj.zoneEnglish · 6 months ago

Rule

lemmy.blahaj.zone

message-square
57
fedilink
389

Rule

lemmy.blahaj.zone

Persona3Reload@lemmy.blahaj.zone to 196@lemmy.blahaj.zoneEnglish · 6 months ago
message-square
57
fedilink
alert-triangle
You must log in or register to comment.
  • Euphoma@lemmy.ml
    link
    fedilink
    English
    arrow-up
    83
    ·
    6 months ago

    return true

    is correct around half of the time

    • ImplyingImplications@lemmy.ca
      link
      fedilink
      arrow-up
      42
      ·
      6 months ago
      assert IsEven(2) == True
      assert IsEven(4) == True
      assert IsEven(6) == True
      

      All checks pass. LGTM

    • aliser@lemmy.world
      link
      fedilink
      arrow-up
      19
      ·
      6 months ago
      return Math.random() > 0.5
      

      would also be correct about half the time

      • deo@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        6 months ago

        Wouldn’t that only be correct about 25% of the time?

        • Rain World: Slugcat Game@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          6 months ago

          for even, 50% chance of correctness, same for odd.

  • bob_lemon@feddit.org
    link
    fedilink
    arrow-up
    54
    ·
    edit-2
    6 months ago
    import re
    
    def is_even(i: int) -> bool:
        return re.match(r"-?\d*[02468]$", str(i)) is not None
    
    • YtA4QCam2A9j7EfTgHrH@infosec.pub
      link
      fedilink
      arrow-up
      23
      ·
      6 months ago

      Cursed

    • lime!@feddit.nu
      link
      fedilink
      English
      arrow-up
      6
      ·
      6 months ago

      i was gonna suggest the classic

      re.match(r"^(..)\1*$", "0" * abs(i)) is not None
      
  • superkret@feddit.org
    link
    fedilink
    arrow-up
    45
    ·
    6 months ago

    Just divide the number into its prime factors and then check if one of them is 2.

    • fartripper@lemmy.ml
      link
      fedilink
      arrow-up
      20
      ·
      edit-2
      6 months ago

      or divide the number by two and if the remainder is greater than

      -(4^34)
      

      but less than

      70 - (((23*3*4)/2)/2)
      

      then

      true
      
      • superkret@feddit.org
        link
        fedilink
        arrow-up
        8
        ·
        6 months ago

        What if the remainder is greater than the first, but not less than the latter?

        Like, for example, 1?

        • prime_number_314159@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          6 months ago

          Then you should return false, unless the remainder is also greater than or equal to the twenty second root of 4194304. Note, that I’ve only checked up to 4194304 to make sure this works, so if you need bigger numbers, you’ll have to validate on your own.

          • fartripper@lemmy.ml
            link
            fedilink
            arrow-up
            5
            ·
            6 months ago

            i hate to bring this up, but we also need a separate function for negative numbers

            • prime_number_314159@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              6 months ago

              You can just bitwise AND those with …000000001 (for however many bits are in your number). If the result is 0, then the number is even, and if it’s 1, then the number is odd. This works for negative numbers because it discards the negative signing bit.

    • tipicaldik@lemmy.world
      link
      fedilink
      arrow-up
      15
      arrow-down
      1
      ·
      6 months ago

      I remember coding actionscript in Flash and using modulo (%) to determine if a number was even or odd. It returns the remainder of the number divided by 2 and if it equals anything other than 0 then the number is odd.

      • Korne127@lemmy.world
        link
        fedilink
        arrow-up
        25
        ·
        6 months ago

        Yeah. The joke is that this is the obvious solution always used in practise, but the programmer is that bad that they don’t know it and use some ridiculous alternative solutions instead.

      • superkret@feddit.org
        link
        fedilink
        arrow-up
        20
        ·
        6 months ago

        I believe that’s the proper way to do it.

    • Tiefkuehlkost@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      deleted by creator

  • Rai@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    39
    arrow-down
    1
    ·
    6 months ago

    Zero people in this post get the YanDev reference

    • psychOdelic@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      8
      ·
      6 months ago

      so nobody actually really got the joke. very sad Moment.

      • Rai@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        10
        arrow-down
        1
        ·
        6 months ago

        It’s really just us… I’ve seen the basic programming joke a bunch of times, but people really aren’t understanding the YanDev/font embellishment. Sad indeed.

    • RVGamer06@sh.itjust.works
      link
      fedilink
      arrow-up
      3
      ·
      6 months ago

      I do :D

  • jbk@discuss.tchncs.de
    link
    fedilink
    arrow-up
    27
    ·
    6 months ago

    so did someone draw this by hand or was it a filter

    • beefbot@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      10
      ·
      6 months ago

      tbh it looks like an AI broke this down slightly & reconstructed it

  • gerryflap@feddit.nl
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    1
    ·
    6 months ago

    Using Haskell you can write it way more concise:

    iseven :: Int -> Bool
    iseven 0 = True
    iseven 1 = False
    iseven 2 = True
    iseven 3 = False
    iseven 4 = True
    iseven 5 = False
    iseven 6 = True
    iseven 7 = False
    iseven 8 = True
    ...
    

    However, we can be way smarter by only defining the 2 base cases and then a recursive definition for all other numbers:

    iseven :: Int -> Bool
    iseven 0 = True
    iseven 1 = False
    iseven n = iseven (n-2)
    

    It’s having a hard time with negative numbers, but honestly that’s quite a mood

    • luciferofastora@lemmy.zip
      link
      fedilink
      arrow-up
      12
      ·
      6 months ago

      Recursion is its own reward

  • affiliate@lemmy.world
    link
    fedilink
    arrow-up
    23
    arrow-down
    1
    ·
    6 months ago

    a wise programmer knows to always ask the question “can i solve this problem in python using metaprogramming?” in this instance, the answer is yes:

    def is_even(n: int):
        s = "def is_even_helper(number: int):\n"
        b = True
        for i in range(0, abs(n)+2):
            s += f"\tif (abs(number) == {i}): return {b}\n"
            b = not b
        exec(s)
        return locals().get("is_even_helper")(n)
    
    • sepiroth154@feddit.nl
      link
      fedilink
      arrow-up
      7
      ·
      6 months ago

      Gotta love how human readable Python always is!

  • lnxtx (xe/xem/xyr)@feddit.nl
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    1
    ·
    6 months ago

    Ask AI:

    public static boolean isEven(int number) {
        // Handle negative numbers
        if (number < 0) {
            number = -number; // Convert to positive
        }
        
        // Subtract 2 until we reach 0 or 1
        while (number > 1) {
            number -= 2;
        }
        
        // If we reach 0, it's even; if we reach 1, it's odd
        return number == 0;
    }
    
    • Sanctus@lemmy.world
      link
      fedilink
      English
      arrow-up
      29
      ·
      6 months ago

      Anything but using modulo I guess

      • lnxtx (xe/xem/xyr)@feddit.nl
        link
        fedilink
        English
        arrow-up
        6
        ·
        6 months ago

        And bit operations (:

    • YtA4QCam2A9j7EfTgHrH@infosec.pub
      link
      fedilink
      arrow-up
      16
      arrow-down
      2
      ·
      6 months ago

      This makes me happy that I don’t use genai

      • Mirodir@discuss.tchncs.de
        link
        fedilink
        arrow-up
        7
        ·
        6 months ago

        I’m not sure how fucked up their prompt is (or how unlucky they were). I just did 3 tries and every time it used modulo.

        I’m assuming they asked it specifically to either not use modulo or to do a suboptimal way to make this joke.

  • istdaslol@feddit.org
    link
    fedilink
    arrow-up
    18
    ·
    6 months ago

    When you sacrifice memory for an O(1) algorithm.

    In this case still O(n)

    • Zangoose@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      6 months ago

      Smh this is literally what switch statements are for

  • TunaCowboy@lemmy.world
    link
    fedilink
    arrow-up
    16
    ·
    6 months ago

    if (!(number & 1))

    • FiskFisk33@startrek.website
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      6 months ago

      if (~number & 1)

  • FiskFisk33@startrek.website
    link
    fedilink
    arrow-up
    14
    ·
    6 months ago

    oh of course there is

    https://www.npmjs.com/package/is-even

    (do take a look at the download stats)

    • Fiona@discuss.tchncs.de
      link
      fedilink
      arrow-up
      13
      ·
      edit-2
      6 months ago

      And that isn’t even the worst thing about it…

      The implementation looks like this:

      function isEven(i) {
        return !isOdd(i);
      };
      

      And yes, is-odd is a dependency that in turn depends on is-number…

    • servobobo@feddit.nl
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      6 months ago

      “If it’s not an npm package it’s impossible”

      - JS devs, probably

    • Micromot@feddit.org
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      edit-2
      6 months ago

      Can’t you just

      If (number % 2 == 0){return true}

      • blackn1ght@feddit.uk
        link
        fedilink
        arrow-up
        12
        ·
        6 months ago

        return number % 2 === 0

        • Micromot@feddit.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          Yeah, that’s even simpler

      • drake@lemmy.sdf.org
        link
        fedilink
        arrow-up
        6
        ·
        6 months ago

        but what if number isn’t an integer, or even a number at all? This code, and the improved code shared by the other user, could cause major problems under those conditions. Really, what you would want, is to validate that number is actually an integer before performing the modulo, and if it isn’t, you want to throw an exception, because something has gone wrong.

        That’s exactly what that NPM module does. And this is why it’s not a bad thing to use packages/modules for even very simple tasks, because they help to prevent us from making silly mistakes.

        • Micromot@feddit.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          That would already cause an exception when calling the function because it has int number in the parameters

          • drake@lemmy.sdf.org
            link
            fedilink
            arrow-up
            4
            ·
            6 months ago

            Javascript doesn’t have strongly-typed variables

        • FiskFisk33@startrek.website
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          ah the joys of loosely typed languages

      • FiskFisk33@startrek.website
        link
        fedilink
        arrow-up
        5
        ·
        6 months ago

        yup, which is why I find the download stats truly horrifying

      • Python@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        6 months ago

        no

        • Micromot@feddit.org
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 months ago

          ok

    • tb_@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      6 months ago

      That’s a lot of downloads

  • dadarobot@lemmy.sdf.org
    link
    fedilink
    arrow-up
    18
    arrow-down
    4
    ·
    6 months ago
    If number%2 == 0: return("Even")
    Else: return("odd") 
    
    • istdaslol@feddit.org
      link
      fedilink
      arrow-up
      5
      ·
      6 months ago

      Not all ARM CPUs support mod operations. It’s better to use bit operations. Check if the last bit is set. If set it’s odd else it’s even.

    • lol_idk@lemmy.ml
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      edit-2
      6 months ago

      Deleted

  • ashestoashes@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    10
    ·
    6 months ago

    just check the least significant bit smh my head

  • themoonisacheese@sh.itjust.works
    link
    fedilink
    arrow-up
    8
    ·
    6 months ago

    https://codegolf.stackexchange.com/q/275739/88192

  • moistclump@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    6 months ago

    I thought they were going to turn into Saddam Husseins.

196@lemmy.blahaj.zone

196@lemmy.blahaj.zone

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !196@lemmy.blahaj.zone

Be sure to follow the rule before you head out.


Rule: You must post before you leave.



Other rules

Behavior rules:

  • No bigotry (transphobia, racism, etc…)
  • No genocide denial
  • No support for authoritarian behaviour (incl. Tankies)
  • No namecalling
  • Accounts from lemmygrad.ml, threads.net, or hexbear.net are held to higher standards
  • Other things seen as cleary bad

Posting rules:

  • No AI generated content (DALL-E etc…)
  • No advertisements
  • No gore / violence
  • Mutual aid posts are not allowed

NSFW: NSFW content is permitted but it must be tagged and have content warnings. Anything that doesn’t adhere to this will be removed. Content warnings should be added like: [penis], [explicit description of sex]. Non-sexualized breasts of any gender are not considered inappropriate and therefore do not need to be blurred/tagged.

If you have any questions, feel free to contact us on our matrix channel or email.

Other 196’s:

  • !196@lemmy.world
  • !onehundredninetysix@lemmy.blahaj.zone
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 534 users / day
  • 2.92K users / week
  • 6.2K users / month
  • 18.7K users / 6 months
  • 2 local subscribers
  • 17.6K subscribers
  • 9.92K Posts
  • 76.4K Comments
  • Modlog
  • mods:
  • Moss@lemmy.blahaj.zone
  • greembow@lemmy.blahaj.zone
  • Queue@beehaw.org
  • funky-rodent [he/him]@lemmy.blahaj.zone
  • Peachy [they/she] @lemmy.blahaj.zone
  • threegnomes@lemmy.blahaj.zone
  • greembow@lemmy.world
  • moss@lemmy.world
  • remotelove@lemmy.ca
  • Roflmasterbigpimp@feddit.de
  • A_Very_Big_Fan@lemm.ee
  • qaz@lemmy.blahaj.zone
  • A_Very_Big_Fan@lemmy.world
  • qaz@lemmy.sdf.org
  • qaz@lemmy.world
  • qaz@sh.itjust.works
  • UI: unknown version
  • BE: 0.19.9
  • Modlog
  • Legal
  • Instances
  • Docs
  • Code
  • join-lemmy.org