Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <limits.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. int main(int argc, char *argv[]) {
  7.    
  8.     int input,inputStart, temp, erg[200];
  9.     int i = 2, j = 0, k;
  10.     input = atoi(argv[1]);
  11.     inputStart = input;
  12.     if(argc != 2) {
  13.         printf("Falsche Argumentzahl\n");
  14.         return 1;
  15.     }
  16.     while(1) {
  17.         if(input == 1)
  18.             break;
  19.         if(input%i == 0) {
  20.             input /= i;
  21.             erg[j++] = i;
  22.         }else if(input%i != 0) {
  23.             i = nextPrim(i);   
  24.         }
  25.         //printf("j: %d, Input: %d ", j, input);
  26.     }
  27.     printf("%d: ", inputStart);
  28.     for(k = 0; k < j; k++) {
  29.         printf("%d ", erg[k]);
  30.     }
  31.     printf("\n");
  32.    
  33.     return 0;
  34.    
  35. }
  36.  
  37. int nextPrim(int start) {
  38.    
  39.     int prim, i, j, check;
  40.    
  41.     for(i=start+1; i <= UINT_MAX; i++) {
  42.        
  43.         for(j=2; j<i;j++) {
  44.             if(i%j == 0) {
  45.                 check = 0;
  46.                 break;
  47.             }else {
  48.                 check = 1;
  49.             }
  50.         }
  51.         if(check == 1) {
  52.             prim = i;
  53.             break;         
  54.         }
  55.     }
  56.     return prim;
  57.        
  58.    
  59.    
  60.    
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement