fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int isPerfect(int x) {
  5. int i, sum = 0;
  6. for (i = 1; i < x; i++)
  7. if (x % i == 0) sum += i;
  8. return sum == x;
  9. }
  10.  
  11. int isPrime(int num) {
  12. if (num < 2) return 0;
  13. int i;
  14. for (i = 2; i * i <= num; i++)
  15. if (num % i == 0) return 0;
  16. return 1;
  17. }
  18.  
  19. void firstNPrimes(int n) {
  20. int count = 0, num = 2;
  21. printf("First %d primes: ", n);
  22. while (count < n) {
  23. if (isPrime(num)) {
  24. printf("%d ", num);
  25. count++;
  26. }
  27. num++;
  28. }
  29. printf("\n");
  30. }
  31.  
  32. void firstNPerfectSquares(int n) {
  33. int i;
  34. printf("First %d perfect squares: ", n);
  35. for (i = 1; i <= n; i++)
  36. printf("%d ", i * i);
  37. printf("\n");
  38. }
  39.  
  40. int main() {
  41. int choice, n;
  42.  
  43. do {
  44. printf("\n===== MENU =====\n");
  45. printf("1. Check Perfect Number\n");
  46. printf("2. Print first n primes\n");
  47. printf("3. Print first n perfect squares\n");
  48. printf("0. Exit\n");
  49. printf("Your choice: ");
  50. scanf("%d", &choice);
  51.  
  52. switch(choice) {
  53. case 1:
  54. printf("Enter x: ");
  55. scanf("%d", &n);
  56. if (isPerfect(n))
  57. printf("%d is Perfect: True\n", n);
  58. else
  59. printf("%d is Perfect: False\n", n);
  60. break;
  61. case 2:
  62. printf("Enter n: ");
  63. scanf("%d", &n);
  64. firstNPrimes(n);
  65. break;
  66. case 3:
  67. printf("Enter n: ");
  68. scanf("%d", &n);
  69. firstNPerfectSquares(n);
  70. break;
  71. case 0:
  72. printf("Exiting...\n");
  73. break;
  74. default:
  75. printf("Invalid!\n");
  76. }
  77. } while (choice != 0);
  78.  
  79. return 0;
  80. }
Success #stdin #stdout 0.01s 5308KB
stdin
1
6
2
5
3
3
0
stdout
===== MENU =====
1. Check Perfect Number
2. Print first n primes
3. Print first n perfect squares
0. Exit
Your choice: Enter x: 6 is Perfect: True

===== MENU =====
1. Check Perfect Number
2. Print first n primes
3. Print first n perfect squares
0. Exit
Your choice: Enter n: First 5 primes: 2 3 5 7 11 

===== MENU =====
1. Check Perfect Number
2. Print first n primes
3. Print first n perfect squares
0. Exit
Your choice: Enter n: First 3 perfect squares: 1 4 9 

===== MENU =====
1. Check Perfect Number
2. Print first n primes
3. Print first n perfect squares
0. Exit
Your choice: Exiting...