求3的n次方 规定n=3333
3^3333=???
用c语言 结果要把每一位输出
求3的n次方 规定n=3333
3^3333=???
用c语言 结果要把每一位输出
这是一道找规律的题,3的n(0除外)次方只能出现3、9、7、1四种情况,所以你只需开个a[4]的数组,当
for(i=0;i<4;i++)
if(n%4==i)printf("%d\n",a[i])即可,我还可以算n^n的最后一位或最后k位,想知道吗?
这种题目类似于n!只能用数组存放结果,考查的是你对循环的思路和判断的认知。说一下思路吧,希望对你有帮助。有帮助就给分哈~
1、设定一个存放结果的数组,估计这个结果也不会超过1000位,暂定a【1000】
2、给这个数组赋初值,全部为0,但是a【999】=1
3、开始3333次循环
4、从末尾开始乘3
5、判断a【1000】的每一位,如果大于10,就用这一位/10,所得到的结果进位,所得到的余数留在此位
6、3333次循环结束,再次利用循环,判断a【1000】前面没有用到的0,当找到其中一位a【n】不等于0时,跳出循环
7、从这个n开始,输出a【1000】剩余的部分
8、结束
这个应该要用数组来存才行。因为C里的基本数据类型没有这么长的精度。现在我的机子上没有编成工具。机子老了。简单的N次方能写。这个就能写。只是用数组来保存