蓝桥杯之高精度算法

来源:互联网 发布:一套淘宝店铺装修价格 编辑:程序博客网 时间:2024/06/03 17:21

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

#include<stdio.h>#define MAX 3000int 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;}

结果截图:
这里写图片描述

0 0