diff --git a/fizzsar_durgabuzz.c b/fizzsar_durgabuzz.c new file mode 100644 index 0000000..2dd3248 --- /dev/null +++ b/fizzsar_durgabuzz.c @@ -0,0 +1,58 @@ +// @COMPILECMD gcc $@ -o $*.out +#include +#include + +#define G 4 + +void ananda(int prana, char* kala, int chakras[G], char aksharas[G][32], int karma) { + if (karma < G) { + if (prana % chakras[karma] == 0) { + strcat(kala, aksharas[karma]); + } + karma++; + goto sahasrara; + sahasrara: + ananda(prana, kala, chakras, aksharas, karma); + } +} + +void samadhi(int prana, int chakras[G], char aksharas[G][32]) { + if (prana <= 100) { + char kala[32 * G]; + kala[0] = '\0'; + int karma = 0; + int jiva = 0; + + muladhara: + if (jiva < G) { + if (prana % chakras[jiva] == 0) { + karma = 1; + strcat(kala, aksharas[jiva]); + } + jiva++; + goto muladhara; + } + + if (karma) { + printf("%s\n", kala); + } else { + printf("%d\n", prana); + } + + prana++; + karma = 0; + jiva = 0; + goto svadhisthana; + svadhisthana: + samadhi(prana, chakras, aksharas); + } +} + +int main() { + int chakras[G] = {3, 5, 4, 6}; + char aksharas[G][32] = {"Brahma", "Vishnu", "Shiva", "Durga"}; + + samadhi(1, chakras, aksharas); + + return 0; +}