大数相乘

来源:互联网 发布:淘宝卖食品三证多少钱 编辑:程序博客网 时间:2024/05/21 00:19
<span style="font-size:18px;">#include <stdlib.h>#include <stdio.h>#include <string.h>int main(){    int i,j;    char num1[100]={0};    char num2[100]={0};    gets(num1);    gets(num2);    int  number1[100];    int  number2[100];    int  result[201]={0};    for(i=0;i<strlen(num1)/2;i++)    {        char tmp = num1[i];        num1[i] = num1[strlen(num1)-1-i];        num1[strlen(num1)-1-i] = tmp;    }    for(i=0;i<strlen(num2)/2;i++)    {        char tmp = num2[i];        num2[i] = num2[strlen(num2)-1-i];        num2[strlen(num2)-1-i] = tmp;     }     for(i=0;i<strlen(num1);i++)    {        number1[i]=num1[i]-'0';    }    for(i=0;i<strlen(num2);i++)    {         number2[i]=num2[i]-'0';     }    for(i=0;i<strlen(num1);i++)    {        for(j=0;j<strlen(num2);j++)        {             result[i+j] = result[i+j] + number1[i]*number2[j];         }     }    for(i=0;i<200;i++)    {         result[i+1]=result[i+1]+result[i]/10;         result[i] = result[i]%10;     }    for(i=200;i>-1;i--)    {        if(result[i]>0)            break;    }    if(i==-1)    {         printf("\n%d",0);     }    for(j=i;j>-1;j--)    {        printf("%d",result[j]);     }    return 0;}</span>
<span style="font-size:18px;"> </span><span style="font-size:32px;color:#cc0000;">求算n!</span><span style="font-size:18px;">#include<iostream>#define MAX 1000using namespace std;int main(void){    int n;    while(scanf("%d",&n)==1&&n>=0)    {        int i,j;        int a[MAX];      //存数运算结果        int p,h;           //p存储当前结果的位数,h为进位        a[1]=1;        p=1;          for(i=2;i<=n;i++)   //循环与2,3,4.....n相乘        {            for(j=1,h=0;j<=p;j++)    //让a[]的每位与i相乘            {                a[j]=a[j]*i+h;                h=a[j]/10;                a[j]=a[j]%10;            }            while(h>0)         //如果h不为0            {                a[j]=h%10;                h=h/10;                j++;            }            p=j-1;            //将当前的位数赋给p        }        for(i=p;i>=2;i--)        {            printf("%d",a[i]);        }        printf("%d\n",a[i]);    }    return 0;}</span>


1 0
原创粉丝点击