#include /* Bitte eine Zahl eingeben: 10 b: 10, a: 8, i: 2 b: 10, a: 6, i: 2 b: 10, a: 5, i: 5 b: 10, a: 4, i: 2 b: 10, a: 2, i: 2 Bitte eine Zahl eingeben: -10 b: 9, a: 3, i: 3 */ int main() { int a, b, i; printf("Bitte eine Zahl eingeben: "); scanf("%d",&a); //Ist es eine negative Zahl? if( a >> 31 ) { /* * alle Bits einzeln negieren * => -10 wird zu 9 */ a = ~a; } b = a; //a runterzaehlen while( a-- ) { //von a bis 2 runterzaehlen for(i = a; i >= 2; i--) { //falls b oder a nicht ohne rest durch i teilbar sind if( (b % i) || (a % i) ) { i--; } //b und a sind durch i teilbar else { printf("b: %d, a: %d, i: %d\n", b, a, i); } } } return 0; }