蓝桥杯之高精度算法

    xiaoxiao2021-03-25  167

    接下来废话不多说 ,大家看下蓝桥杯的原题截图: 一个很简单的编程题,接下来这个是我的代码:

    #include<stdio.h> #define MAX 3000 int main() { int arr[MAX]={0}; int i=0,len=0; int num=0,num_cpy=0,flag=0; scanf("%d",&num); num_cpy=num; while(num)//把num中的数全部放到数组arr中去 { arr[i]=num%10; num/=10; i++; } num=num_cpy; num=num-1; for(num; num>0; num--) { for(i=0; i<MAX; i++) { arr[i]*=num; if(flag)//判断是否有进位,如果有则flag>0,否则flag=0 { arr[i]+=flag; } if(arr[i]>=10) { flag=arr[i]/10; arr[i]%=10; } else { flag=0; } } } for(i=MAX;i>0;i--) { if(arr[i]==0&&arr[i-1]!=0) { len = i-1;//表示数字的长度 break; } } while(len>=0) { printf("%d",arr[len]); len--; } system("pause"); return 0; }

    结果截图:

    转载请注明原文地址: https://ju.6miu.com/read-7560.html

    最新回复(0)