Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับคู่ตัวเลขจาก 1 ถึง N ที่ผลคูณหารด้วยผลรวมลงตัวใน C++


เราได้รับตัวเลข N เป้าหมายคือหาคู่ของตัวเลขจาก 1 ถึง N ที่ผลคูณของคู่หารด้วยผลรวมของคู่นั้นลงตัว

มาดูตัวอย่าง

อินพุต − N=11

เอาต์พุต − จำนวนคู่ตัวเลขจาก 1 ถึง N ที่ผลคูณหารด้วยผลรวมลงตัว คือ 1

คำอธิบาย − ตัวเลข 3 และ 6 มีผลคูณ 18 และผลรวม 9 หาร 18 ลงตัว

อินพุต − N=30

เอาต์พุต − จำนวนคู่ตัวเลขจาก 1 ถึง N ที่ผลคูณหารด้วยผลรวมลงตัว คือ 12

คำอธิบาย − คู่คือ − (3, 6), (4,12), (5, 20), (6, 12), (6, 30), (8, 24), (9, 18), (10, 15), (12, 24), (15, 30), (20, 30), (21, 28) จำนวนคู่ − 12

แนวทางที่ใช้ในโปรแกรม

เราจะเดินทางจาก 1 ถึง N ด้วยลูป FOR สองครั้ง สำหรับทุก i ค้นหา j ที่ผลคูณของ (i,j) หารด้วยผลรวม i+j ลงตัว เพิ่ม count สำหรับคู่ i,j ที่เป็นไปได้ที่ i!=j

  • รับตัวเลข N เป็นอินพุต
  • ฟังก์ชัน Sum_N(N) รับ N คืนจำนวนคู่ที่ผลคูณของตัวเลขหารด้วยผลรวมของตัวเลขลงตัว
  • เดินทางจาก i=1 ถึง i<N
  • เดินทางจาก j=i+1 ถึง j<=N
  • กำหนด count เริ่มต้น 0
  • สำหรับแต่ละ i และ j คำนวณ temp= (i*j)%(i+j)
  • ถ้า temp เป็น 0 แสดงว่าผลรวมหารผลคูณลงตัว เพิ่ม count
  • ท้ายสุดของการวนซ้ำทั้งหมด count จะมีจำนวนคู่ดังกล่าวทั้งหมด
  • คืน count

ตัวอย่างโค้ด C++

#include <bits/stdc++.h>
using namespace std;

int Sum_N(int N){
    int count = 0;
    for (int i = 1; i < N; i++){
        for (int j = i + 1; j <= N; j++){
            int temp = (j * i) % (j + i);
            if (!temp){
                count++;
            }
        }
    }
    return count;
}

int main(){
    int N = 20;
    cout<<"Count of pairs of numbers from 1 to N with Product divisible by their Sum are: "<<Sum_N(N);
    return 0;
}

เอาต์พุต

หากรันโค้ดด้านบนจะได้ผลลัพธ์ดังนี้ −

Count of pairs of numbers from 1 to N with Product divisible by their Sum are: 6