18和23行明明表示如果a=0,便不用输出,结果运行时仍然出现,然后28行也是表明只有n>1才输出,结果最后输出还有个1,更加致命的是,为啥有两个2^2,求友友指正!

我输入小于十的数运行正确,但是输入十时就会出现原本是要*3的,但是只输出3,当后面的数越大时,比如100会多输出几个25,169就会多输出几个169这是为什么?就指正!!