Բարի գալուստ ալգորիթմների մասին բլոգի երկրորդ գրառում: Այս շարքերում ես կխորանամ JavaScript-ի հիմնական տվյալների կառուցվածքների և ալգորիթմների մեջ, և իմ նպատակն է հնարավորինս հեշտացնել այն սկսնակների համար, ինչպես նաև ամրապնդել իմ սեփական ըմբռնումը: Այսօրվա բլոգում մենք կանդրադառնանք սկսնակների ամենահայտնի մարտահրավերներից մեկին՝ FizzBuzz: Մենք կօգտագործենք JavaSript այն լուծելու համար: Ինձ խնդրեցին լուծել այս մարտահրավերը իմ առաջին կեղծ տեխնիկական հարցազրույցում:

FizzBuzz-ը շատ պարզ ծրագրավորման խնդիր է, որն օգտագործվում է ծրագրաշարի մշակողների աշխատանքի հարցազրույցներում՝ որոշելու, թե արդյոք աշխատանքի թեկնածուն իրականում կարող է կոդ գրել: Այն հորինել է Իմրան Գորին, իսկ հանրաճանաչությունը տարածել է Ջեֆ Էթվուդը:

Մարտահրավեր

Գրեք ծրագիր, որը տպում է 1-ից մինչև 100 թվերը: Երեքի բազմապատիկի համար թվի փոխարեն տպեք «Fizz», իսկ հինգի բազմապատիկի համար՝ «Buzz»: Երեքի և հինգի բազմապատիկ թվերի համար տպեք «FizzBuzz»:

Լուծում

Նախևառաջ, մենք պետք է գրենք for ցիկլը, որը կանցնիբոլոր թվերի միջով 1-ից մինչև 100: Յուրաքանչյուր կրկնության համար մենք պետք է գրենք 3 պայմանական հայտարարություն.

  • եթե թիվը երեքի բազմապատիկ է, մենք console.log(«Fizz»)
  • եթե թիվը հինգի բազմապատիկ է, մենք console.log(«Buzz»)
  • եթե թիվը երեքի և հինգի բազմապատիկն է, մենք console.log(«FizzBuzz»)
  • եթե վերը նշված պայմաններից ոչ մեկը չի բավարարվում console.log(i) // որը կլինի համարը

Բայց ինչպե՞ս իմանանք, թե որ թիվն է մեր պայմաններից մեկի բազմապատիկը: Ես դրա մասին մտածում եմ. եթե մենք փնտրում ենք երեքի բազմապատիկ, ապա երեքի վրա բաժանվող յուրաքանչյուր թիվ կաշխատի մեր առաջին պայմանի համար, ուստի 3, 6, 9, 12 և այլն թվերի փոխարեն մենք կտեսնենք « Fizz» վահանակում: Եթե ​​մենք փնտրում ենք հինգի բազմապատիկ, ապա հինգի բաժանվող յուրաքանչյուր թիվ կաշխատի երկրորդ պայմանի համար, և այդ թվի փոխարեն վահանակում կտեսնենք «Buzz»: Եթե ​​մենք փնտրում ենք երկուսի բազմապատիկ, ապա թիվը պետք է բաժանվի և՛ երեքի, և՛ հինգի (կամ տասնհինգի), ուստի 15-ի, 30-ի, 45-ի և այլնի փոխարեն մենք կտեսնենք «FizzBuzz»-ը վահանակում։ .

Մոդուլի օպերատոր: Այս պահին մենք գրեթե գիտենք, թե ինչ անել և ինչպես գրել մեր ֆունկցիան, բայց վերջին հարցը, որ կարող ենք ունենալ, այն է, թե ինչպես կարող ենք իմանալ, թե արդյոք թիվը բաժանվում է մեկ այլ թվի: Մոդուլի օպերատորը փրկելու է: ➗

Մի թվաբանական օպերատոր, որը մի փոքր ավելի քիչ ծանոթ է մոդուլը (երբեմն հայտնի է որպես մոդուլ) օպերատոր, որը հաշվարկում է. բաժանումից հետո գործակցիմնացորդը: Modulo-ը ներկայացված է տոկոսային նշանով (%): … Հաճախ ծրագրավորման մեջ modulo-ն օգտագործվում է հոսքի վերահսկման պայմանական հայտարարությունների հետ միասին:

Modulo-ն մեզ կտա մնացորդ, եթե մնացորդ չկա (մնացորդը հավասար է զրոյի), ապա թիվը բազմապատիկ է: Պարզապես հիշեք, որ օգտագործեք մոդուլի օպերատորը նման մարտահրավերներում: Վերջապես, եկեք տեսնենք, թե ինչպես է այս ամենը երևում կոդով 👉

Ես նաև մի քիչ փոխեցի մեր պայմանների հերթականությունը, ինչպես տեսնում եք, որովհետև այլ կերպ չստացվեց 😅

Մեր գործառույթը զանգահարելուց հետո մենք կտեսնենք այս ելքը վահանակում 👉

Ահա դուք ունեք այն! Շնորհակալություն մինչև վերջ կարդալու համար 🥳