Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C ตรวจสอบว่าตัวเลขมีมากมาย (มิตร) หรือไม่?


ในโปรแกรมนี้ เรากำลังพยายามตรวจสอบว่าตัวเลขที่ผู้ใช้ให้มาทั้งสองตัวผ่านคอนโซลเป็นคู่ที่เป็นมิตรหรือไม่

ตัวอย่าง

หากผลรวมของตัวหารทั้งหมดของเลข 1 เท่ากับจำนวน 1 และผลรวมของตัวหารทั้งหมดของเลข 2 เท่ากับจำนวน 2 เราก็บอกได้ว่าจำนวนทั้งสองนั้นเป็นจำนวนที่มาก

ตรรกะที่เราเคย หาคู่ที่เป็นมิตร เป็นดังนี้ −

สำหรับผลรวมของตัวหารทั้งหมดของเลข 1

for(i=1;i<number1;i++){
   if(number1 % i == 0){
      result1= result1 +i;
   }
}

สำหรับผลรวมของตัวหารทั้งหมดของเลข 2

for(i=1;i<number2;i++){
   if(number2 % i == 0){
      result2=result2+i;
   }
}

สำหรับคู่กระชับมิตร

if(result1==number1 && result2==number2)

หากตรงตามเงื่อนไขนี้ แสดงว่ามีคู่มากมาย ไม่เช่นนั้นจะไม่ใช่

ตัวอย่าง

ต่อไปนี้คือโปรแกรม C เพื่อค้นหาว่าตัวเลขที่ให้มานั้นเป็นคู่ที่มีอยู่มากมายหรือไม่ -

#include<stdio.h>
int main(){
   int number1,number2,i;
   printf("Enter two numbers:");
   scanf("%d%d",&number1,&number2);
   int result1=0,result2=0;
   for(i=1;i<number1;i++){
      if(number1 % i == 0){
         result1= result1 +i;
      }
   }
   for(i=1;i<number2;i++){
      if(number2 % i == 0){
         result2=result2+i;
      }
   }
   if(result1==number1 && result2==number2)
      printf("Abundant Pairs");
   else
      printf("Not abundant Pairs");
   return 0;
}

ผลลัพธ์

ผลลัพธ์ที่ได้ระบุไว้ด้านล่าง −

Enter two numbers:6 28
Abundant Pairs