เราได้รับตัวเลข 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