หน้าแรก
หน้าแรก
เพื่อให้ได้ผลลัพธ์ของ n * 3.5 เราต้องคำนวณ (n * 2) + n + (n / 2) . การเลื่อนบิตไปทางซ้ายทีละ 1 จะได้ n * 2 และเลื่อนบิตไปทางขวาโดยคุณ n / 2 . เพิ่มสิ่งเหล่านั้นเพื่อให้ได้ผลลัพธ์ n * 3.5 =(n * 2) + n + (n / 2) คุณสามารถส่งค่า n ที่แตกต่างกันเพื่อตรวจสอบสมการข้างต้นได้ มาดูตัวอย่างกัน ป้อนข้อมูล
เราสามารถใช้ กะซ้าย (<<) ตัวดำเนินการที่จะคูณด้วย 15 . ถ้าเราออกจากกะ 1 จากนั้นเราจะคูณมันด้วย 2 . ถ้าเราปล่อยตัวเลขที่กำหนดด้วย 4 จากนั้นเราจะได้ 16 * n. การลบตัวเลขที่กำหนดจาก 16 * n จะทำให้ได้ 15 * n. หรือ เราสามารถหารด้วย 8 * n + 4 * n + 2 * n + n. คุณสามารถคูณยกกำลังของ 2 . ได้อย่างง่ายดาย โ
ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่คูณตัวเลขสองตัวที่ระบุโดยใช้ตัวดำเนินการระดับบิต กะซ้าย (<<) ตัวดำเนินการจะใช้สำหรับการคูณในขณะที่ ) ใช้สำหรับแผนก การคูณตัวเลขสองตัว x, y สามารถเขียนเป็น x * y =(x * 2) * (y / 2) ถ้า y เป็นอย่างอื่น จะเท่ากับ x * y =(x * y) * (y / 2) + x. ดังนั้นเมื่อใดก็ตามที
กำหนดตัวเลขสองตัวในรูปแบบสตริง เราต้องคูณมัน แนวคิดในการแก้ปัญหาคือการรักษาคำตอบการคูณหลักก่อนหน้าและดำเนินการ เราสามารถใช้คำตอบการคูณตัวเลขก่อนหน้าและดำเนินการเพื่อรับการคูณชุดถัดไปได้ มาดูตัวอย่างกัน ป้อนข้อมูล 15 2 ผลผลิต 30 อัลกอริทึม เริ่มต้นตัวเลขในสตริง เริ่มต้นสตริงที่มีความยาว nu
ให้สองรายการที่เชื่อมโยงด้วยตัวเลขในนั้น เราจำเป็นต้องคูณตัวเลขสองตัวที่เกิดจากรายการที่เชื่อมโยง สามารถทำได้ง่าย ๆ โดยการสร้างตัวเลขจากสองรายการที่เชื่อมโยง มาดูตัวอย่างกัน ป้อนข้อมูล 1 -> 2 -> NULL 2 -> 3 -> NULL ผลผลิต 2 -> 7 -> 6 -> NULL อัลกอริทึม เริ่มต้นสองรายการที่เ
ให้สองรายการที่เชื่อมโยงด้วยตัวเลขในนั้น เราจำเป็นต้องคูณตัวเลขสองตัวที่เกิดจากรายการที่เชื่อมโยง สามารถทำได้ง่าย ๆ โดยการสร้างตัวเลขจากสองรายการที่เชื่อมโยง มาดูตัวอย่างกัน ป้อนข้อมูล 1 -> 2 -> NULL 2 -> 3 -> NULL ผลผลิต 2 -> 7 -> 6 -> NULL อัลกอริทึม เริ่มต้นสองรายการที่เ
สัมประสิทธิ์ของแต่ละเทอมของพหุนามถูกกำหนดไว้ในอาร์เรย์ เราต้องคูณพหุนามสองตัว มาดูตัวอย่างกัน ป้อนข้อมูล A = [1, 2, 3, 4] B = [4, 3, 2, 1] ผลผลิต 4x6 + 11x5 + 20x4 + 30x3 + 20x2 + 11x1 + 4 อัลกอริทึม เริ่มต้นพหุนามสองตัว สร้างอาร์เรย์ใหม่ที่มีความยาวพหุนามสองพหุนาม วนซ้ำสองพหุนาม นำพ
เป็นปัญหาตรงไปตรงมา เราสามารถใช้ตัวดำเนินการโมดูโล (%) เพื่อตรวจสอบว่าตัวเลขที่กำหนดนั้นหารด้วย 29 ลงตัวหรือไม่ มาดูตัวอย่างกัน ป้อนข้อมูล 29 254 ผลผลิต 1 0 อัลกอริทึม การนำไปใช้ ต่อไปนี้เป็นการนำอัลกอริธึมข้างต้นไปใช้ใน C++ #include <bits/stdc++.h> using namespace std; bool isDivisibleBy
ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ค้นหาจำนวนความผิดปกติในอาร์เรย์ที่กำหนด ตัวเลขเป็นความผิดปกติในอาร์เรย์ที่กำหนด ถ้าความแตกต่างที่แน่นอนระหว่างตัวเลขกับตัวเลขอื่นๆ ทั้งหมดมากกว่าตัวเลข k ที่กำหนด มาดูตัวอย่างกัน ป้อนข้อมูล arr = [3, 1, 5, 7] k = 1 ผลผลิต 4 ความแตกต่างที่แน่นอนระหว่างตัวเลขทั
เราได้รับตัวเลขสองตัว n และ k เราต้องหาจำนวนอาร์เรย์ที่สามารถสร้างได้โดยใช้ตัวเลข n ซึ่งมีผลรวมเป็น k จำนวนอาร์เรย์ขนาด N ที่มีผลรวม K คือ $\dbinom{k - 1}{n - 1}$. สูตรนี้เป็นสูตรที่ตรงไปตรงมาในการหาอาร์เรย์ตัวเลขที่สามารถเกิดขึ้นได้โดยใช้องค์ประกอบ n ซึ่งมีผลรวม k มาดูตัวอย่างกัน ป้อนข้อมูล n =
พลังของตัวเลขสามารถคำนวณได้โดยใช้การคูณแบบวนซ้ำหรือฟังก์ชันที่ภาษามีให้ มันเป็นเรื่องตรงไปตรงมา ตรงนี้, เราต้องหา 2 ยกกำลัง n และจำนวนหลักในผลลัพธ์ มาดูตัวอย่างกัน ป้อนข้อมูล 5 ผลผลิต 2 ป้อนข้อมูล 10 ผลผลิต 4 อัลกอริทึม เริ่มต้นหมายเลข n. หาค่าของ 2n . เพดานของ log10(n) จะให้จำนวนหลักเป็น
พลังของตัวเลขสามารถคำนวณได้โดยใช้การคูณแบบวนซ้ำหรือฟังก์ชันที่ภาษามีให้ มันเป็นเรื่องตรงไปตรงมา ที่นี่เราต้องหา a ยกกำลัง b และจำนวนหลักในผลลัพธ์ มาดูตัวอย่างกัน ป้อนข้อมูล a = 5 b = 2 ผลผลิต 2 ป้อนข้อมูล a = 7 b = 6 ผลผลิต 6 อัลกอริทึม เริ่มต้นตัวเลข a และ b. หาค่าของ ab . เพดานของ log1
เราต้องหาจำนวนหลักในหลักที่ n ของตัวเลข 4 หลักที่กำหนดให้ 1, 2, 3 และ 4 ชุดเลขสี่ตัวบนมีดังนี้ 1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24... เราจำเป็นต้องหาจำนวนหลักของตัวเลขที่ n จากชุดข้อมูลข้างต้น หากคุณสังเกตรูปแบบอย่างระมัดระวัง คุณจะพบประเด็นต่อไปนี้ มี 4 ตัว หลัก 1 มีตัวเลข 16 หลัก 2
คุณจะได้รับตัวเลขเป็นสตริง คุณต้องค้นหาว่าต้องลบตัวเลขกี่หลักจึงจะหารด้วย 3 ลงตัว เราทำให้ตัวเลขหารลงตัวด้วยการเอาออกไม่เกิน 2 หลัก ดังนั้น จำนวนหลักสูงสุดที่จะลบออกเพื่อให้หารด้วย 3 ลงตัวคือ 2 มาดูตัวอย่างกัน ป้อนข้อมูล 92 ผลผลิต 1 เราสามารถลบ 2 เพื่อให้หารด้วย 3 ลงตัว ป้อนข้อมูล 999 ผลผล
ค่ากลางที่แก้ไขของเมทริกซ์ถูกกำหนดดังนี้... (sum(แถว-wise นาที) + ผลรวม (คอลัมน์-wise max)) / (row_size + column_size) มาดูตัวอย่างกัน 1 2 3 4 5 6 7 8 9 ค่าเฉลี่ย =(ผลรวม(1 + 4 + 7) + ผลรวม (7 + 8 + 9)) / (3 + 3) เราต้องหาค่าเฉลี่ยก่อนแล้วจึงนับจำนวนองค์ประกอบที่มากกว่าค่าเฉลี่ย หากเราเอาตัวอย่
คุณจะได้รับตัวเลขและดัชนีขอบเขตล่างและขอบเขตบนของอาร์เรย์ย่อย คุณต้องนับองค์ประกอบจำนวนหนึ่งที่น้อยกว่าหรือเท่ากับจำนวนที่กำหนด มาดูตัวอย่างกัน ป้อนข้อมูล arr = [1, 2, 3, 4, 5, 6, 7, 8] k = 4 lower = 0 upper = 5 ผลผลิต 4 มี 4 องค์ประกอบระหว่างดัชนี 0 ถึง 5 ที่น้อยกว่าหรือเท่ากับ 4 อัลกอริทึม
คุณจะได้รับผลลัพธ์ของการสั่งจองล่วงหน้า คุณต้องหาจำนวนองค์ประกอบที่น้อยกว่ารูท องค์ประกอบแรกในการข้ามผ่านของการสั่งซื้อล่วงหน้าคือรูทของ BST มาดูตัวอย่างกัน ป้อนข้อมูล preorder_result = [5, 4, 2, 1, 7, 6, 8, 9] ผลผลิต 3 มีสามองค์ประกอบที่น้อยกว่ารูท รากคือ 5. อัลกอริทึม เริ่มต้นผลการสั่งซื
ด้วยสตริงของตัวเลข เราจำเป็นต้องค้นหาจำนวนสตริงย่อยที่เท่ากันในนั้น มาดูตัวอย่างกัน ป้อนข้อมูล num = "1234" ผลผลิต 6 สตริงย่อยคู่ที่สามารถเกิดขึ้นได้จากสตริงที่กำหนดคือ 2 12 4 34 234 1234 อัลกอริทึม เริ่มต้นสตริงด้วยตัวเลข เริ่มต้นการนับเป็น 0. วนซ้ำบนสตริง รับตัวเลขปัจจุ
สมมติว่าคุณกำหนดสตริงไบนารี 10011 ในการสร้างสตริงไบนารีสำรอง เราต้องพลิกอักขระอย่างน้อย 2 ตัวเป็น 10101 มีความเป็นไปได้สองอย่างสำหรับสตริงสำรอง จะเริ่มต้นด้วย 0 หรือ 1 เราจะตรวจสอบทางเลือกสองทางและนับจำนวนการพลิกที่จำเป็นสำหรับทั้งคู่ แล้วคืนค่าต่ำสุดของทั้งสอง มาดูตัวอย่างกัน ป้อนข้อมูล binary
ตัวเลข 1 เป็นตัวแทนของขั้วบวกในขณะที่ 0 แทนขั้วลบ แม่เหล็กจะมีทั้งสองขั้วเป็น 10 หรือ 01. กลุ่มสามารถเกิดขึ้นได้ด้วยแม่เหล็กที่ดึงดูดซึ่งกันและกัน แม่เหล็กที่มีขั้วต่างกันหันเข้าหากันจะอยู่ในกลุ่มเดียวกัน ที่นี่คุณจะได้รับแม่เหล็กจำนวน N คุณจำเป็นต้องค้นหาจำนวนกลุ่มที่สามารถสร้างขึ้นกับพวกเขาได้