fork download
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4. int osztok[20][20] = {0};
  5. int biggest_numbers[20] = {0};
  6.  
  7. bool is_prime(int n) {
  8. if (n == 2) return true;
  9. if (n % 2 == 0) return false;
  10. for (int i = 2; i <= n / 2; i++) {
  11. if (n % i == 0) return false;
  12. }
  13. return true;
  14. }
  15.  
  16. int multiply() {
  17. for (int i = 0; i < 20; i++) {
  18. if (is_prime(i + 1)) {
  19. int k = 0;
  20. while (osztok[i][k] == 0) {
  21. if (k > biggest_numbers[i]) biggest_numbers[i] = k;
  22. printf("b: %i\n", biggest_numbers[i]);
  23. printf("[%i][%i] %i\n", i, k, osztok[i][k]);
  24. k++;
  25. }
  26. //printf("k: %i\n", k);
  27. }
  28. }
  29. }
  30.  
  31. int main() {
  32. for (int i = 1; i <= 20; i++) {
  33. int orig_number = i;
  34. int number = i;
  35. int k = 0;
  36. for (int j = 2; j <= i; j++) {
  37. while ((number % j == 0) && is_prime(j)) {
  38. osztok[i-1][k] = j;
  39. ++k;
  40. number = number / j;
  41. }
  42. }
  43. }
  44. /*for (int i = 0; i < 20; i++) {
  45.   printf("%i: ", i+1);
  46.   for (int j = 0; j <20; j++)
  47.   if (osztok[i][j] != NULL) printf("%i\t", osztok[i][j]);
  48.   printf("\n");
  49.   }*/
  50. multiply();
  51. //printf("%i", biggest_numbers[2]);
  52. return 0;
  53. }
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
b: 0
[0][0] 0
b: 1
[0][1] 0
b: 2
[0][2] 0
b: 3
[0][3] 0
b: 4
[0][4] 0
b: 5
[0][5] 0
b: 6
[0][6] 0
b: 7
[0][7] 0
b: 8
[0][8] 0
b: 9
[0][9] 0
b: 10
[0][10] 0
b: 11
[0][11] 0
b: 12
[0][12] 0
b: 13
[0][13] 0
b: 14
[0][14] 0
b: 15
[0][15] 0
b: 16
[0][16] 0
b: 17
[0][17] 0
b: 18
[0][18] 0
b: 19
[0][19] 0