Dann beende ich mal das Trauerspiel:
#include <stdio.h>
#define XD return
#define DX goto
#define D8 if
int primfaktor(int O_O)
{
// eastern western
static int
o_o, //:-D
o_O, XP,
O_o; D8(
!(o_o// :^*
^O_O)) DX
/*(`-')*/ d;
o_o =//
O_O;// <:-|
o_O =-(
-1-1); 0xD
;O_o =-+
-o_o; D8
(o_o <3
-(0-1)) XD
-o_O; d:
/*q-q*/ D8(
!(O_o %-
-o_O) ||(
o_O) //=]
>O_o) DX
/*p-q*/ q;
++o_O; O:
0x0; DX
/*^ ^ */ d;
0X0; q:
/*(-_-;)*/ D8
(o_O> //:)
O_o) XD
+-1; D:
O_o// *<|:-)
/=o_O; XD
- - //:(
o_O; 0xD;
}
int main()
{
int pf;
while ((pf = primfaktor (12))> 1)
printf ("%d\n", pf);
while ((pf = primfaktor(7)) > 1)
printf ("%d\n", pf);
printf ("%d\n" , primfaktor (1));
return 0;
}
Wenn man das static einfach weg lässt, hat man übrigens eine relativ gute Chance, dass es trotzdem funktioniert. Bei mir werden dann leider einige Faktoren doppelt ausgegeben, sofern ich keine Zwischenausgaben mache, die aber laut Aufgabenstellung nicht erlaubt sind .
edit: Ups, da hatte sich in einer Zeile noch ein Übersetzungsfehler eingeschlichen. Japanisch ist schwer!