La verdad es que me parece muy buena idea, yo lo he hecho en C y he sustituido el while por un for, aquí va:
Código C:
Ver original#include <stdio.h>
int main(int argc, char* argv[])
{
int a=1,b;
for(b=0;;b++)
{
if(b%2 == 0) a+=4;
else a-=2;
if(a>= 23)
{
break;
}
}
return 0;
}