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

เขียนโปรแกรม C เพื่อลดเศษส่วนให้เหลือน้อยที่สุดโดยใช้ while loop


ลดเศษส่วนให้เหลือเทอมที่ต่ำที่สุด หมายความว่าไม่มีตัวเลขใดๆ ยกเว้น 1 ที่สามารถแบ่งออกได้ทั้งตัวเศษและส่วนเท่าๆ กัน

ตัวอย่างเช่น 24/4 เป็นเศษส่วน เทอมที่ต่ำที่สุดสำหรับเศษส่วนนี้คือ 6 หรือ 12/16 เป็นเศษส่วน เทอมที่ต่ำที่สุดคือ 3/4

ตอนนี้ มาเขียนโปรแกรม c เพื่อลดเศษส่วนให้เหลือเทอมต่ำสุดกัน

ตัวอย่างที่ 1

#include<stdio.h>
int main(){
   int x,y,mod,numerat,denomi,lessnumert,lessdenomi;
   printf("enter the fraction by using / operator:");
   scanf("%d/%d", &x,&y);
   numerat=x;
   denomi=y;
   switch(y){
      case 0:printf("no zero's in denominator\n");
      break;
   }
   while(mod!=0){
      mod= x % y;
      x=y;
      y=mod;
   }
   lessnumert= numerat/x;
   lessdenomi=denomi/x;
   printf("lowest representation of fraction:%d/%d\n",lessnumert,lessdenomi);
   return 0;
}

ผลลัพธ์

enter the fraction by using / operator:12/24
lowest representation of fraction:1/2

ตัวอย่าง

//reduce the Fraction
#include <stdio.h>
int main() {
   int num1, num2, GCD;
   printf("Enter the value for num1 /num2:");
   scanf("%d/%d", &num1, &num2);
   if (num1 < num2){
      GCD = num1;
   } else {
      GCD = num2;
   }
   if (num1 == 0 || num2 == 0){
      printf("simplified fraction is %s\n", num1?"Infinity":"0");
   }
   while (GCD > 1) {
      if (num1 % GCD == 0 && num2 % GCD == 0)
         break;
      GCD--;
   }
   printf("Final fraction %d/%d\n", num1 / GCD, num2 / GCD);
   return 0;
}

ผลลัพธ์

Enter the value for num1 /num2:28/32
Final fraction 7/8