เราได้รับหมายเลข 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 วนซ้ำสองครั้ง สำหรับทุก ๆ ฉันค้นหา j โดยที่ผลคูณของ (i,j) หารด้วยผลรวม i+j ลงตัว จำนวนที่เพิ่มขึ้นสำหรับคู่ suc i,j โดยที่ i!=j.
-
ใช้ตัวเลข N เป็นอินพุต
-
ฟังก์ชัน Sum_N(N) รับ N และส่งคืนค่าจำนวนคู่เพื่อให้ผลคูณของตัวเลขหารด้วยผลรวมของตัวเลขได้
-
ข้ามจาก i=1 ไปยัง i
-
ข้ามจาก j=i+1 ไปยัง j<=N.
-
นับเริ่มต้นเป็น 0
-
สำหรับแต่ละ i และ j คำนวณ temp=(i*j)%(i+j)
-
ถ้าอุณหภูมิเป็น 0 ผลรวมจะหารผลคูณทั้งหมด จำนวนที่เพิ่มขึ้น
-
หลังจากสิ้นสุดการทำซ้ำทั้งหมด การนับจะมีจำนวนคู่ดังกล่าวทั้งหมด
-
ผลตอบแทนนับเป็นผลลัพธ์
ตัวอย่าง
#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