Write a program to check whether a number is prime or perfect number

Write a program to check whether a number is prime or perfect number.
Used function

  1. #include <stdio.h>
  2. #include <math.h>

  3. int Prime(int num);
  4. int Perfect(int num);


  5. int main()
  6. {
  7.     int num;
  8.     
  9.     printf("Enter a number to check Prime or Perfect number : ");
  10.     scanf("%d", &num);
  11.     
  12.     if(Prime(num)) {
  13.         printf("%d is Prime number.\n", num);
  14.     }
  15.     else {
  16.         printf("%d is not Prime number.\n", num);
  17.     }
  18.     
  19.     if(Perfect(num)) {
  20.         printf("%d is Perfect number.\n", num);
  21.     }
  22.     else {
  23.         printf("%d is not Perfect number.\n", num);
  24.     }
  25.     
  26.     return 0;
  27. }

  28. int Prime(int num) 
  29. {
  30.     int i;
  31.     
  32.     for(i=2; i<=num/2; i++) {
  33.         if(num%i == 0)  
  34.         {
  35.             return 0;
  36.         }  
  37.     } 
  38.     
  39.     return 1; 
  40. }

  41. int Perfect(int num) 
  42. {
  43.     int i, sum, n;
  44.     sum = 0;
  45.     n = num;
  46.     
  47.     for(i=1; i<n; i++) {
  48.         if(n%i == 0) {  
  49.             sum += i;  
  50.         }  
  51.     }
  52.     
  53.     return (num == sum);
  54. }
Used recursion

  1. #include <stdio.h>
  2. #include <math.h>

  3. int Prime(int i, int num);
  4. int Perfect(int i, int num,int sum);

  5. int main()
  6. {
  7.     int num;

  8.     printf("Enter a number to check Prime or Perfect number : ");
  9.     scanf("%d", &num);

  10.     if(Prime(2,num)) {
  11.         printf("%d is Prime number.\n", num);
  12.     }
  13.     else {
  14.         printf("%d is not Prime number.\n", num);
  15.     }

  16.     if(Perfect(1,num,0)) {
  17.         printf("%d is Perfect number.\n", num);
  18.     }
  19.     else {
  20.         printf("%d is not Perfect number.\n", num);
  21.     }
  22.     return 0;
  23. }

  24. int Prime(int i, int num)
  25. {
  26.     if(i > num / 2){
  27.         return 1;
  28.     }
  29.     if(num % i == 0){
  30.         return 0;
  31.     }
  32.     Prime(i+1,num);
  33. }
  34. int Perfect(int i, int num,int sum)
  35. {
  36.     if(i == num){
  37.         return (num == sum);
  38.     }
  39.     if(num % i == 0){
  40.         Perfect(i+1,num,sum+i);
  41.     }else{
  42.         Perfect(i+1,num,sum);
  43.     }
  44. }

একটি মন্তব্য পোস্ট করুন