Բարի գալուստ ալգորիթմների մասին բլոգի երկրորդ գրառում: Այս շարքերում ես կխորանամ JavaScript-ի հիմնական տվյալների կառուցվածքների և ալգորիթմների մեջ, և իմ նպատակն է հնարավորինս հեշտացնել այն սկսնակների համար, ինչպես նաև ամրապնդել իմ սեփական ըմբռնումը: Այսօրվա բլոգում մենք կանդրադառնանք սկսնակների ամենահայտնի մարտահրավերներից մեկին՝ FizzBuzz: Մենք կօգտագործենք JavaSript այն լուծելու համար: Ինձ խնդրեցին լուծել այս մարտահրավերը իմ առաջին կեղծ տեխնիկական հարցազրույցում:
Մարտահրավեր
Գրեք ծրագիր, որը տպում է 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-ն մեզ կտա մնացորդ, եթե մնացորդ չկա (մնացորդը հավասար է զրոյի), ապա թիվը բազմապատիկ է: Պարզապես հիշեք, որ օգտագործեք մոդուլի օպերատորը նման մարտահրավերներում: Վերջապես, եկեք տեսնենք, թե ինչպես է այս ամենը երևում կոդով 👉
Ես նաև մի քիչ փոխեցի մեր պայմանների հերթականությունը, ինչպես տեսնում եք, որովհետև այլ կերպ չստացվեց 😅
Մեր գործառույթը զանգահարելուց հետո մենք կտեսնենք այս ելքը վահանակում 👉
Ահա դուք ունեք այն! Շնորհակալություն մինչև վերջ կարդալու համար 🥳