zoukankan      html  css  js  c++  java
  • HDU 1042(N!)

    //123*20 相当于 100*20 + 20*20+3 
    //常规方法N>=13就溢出 
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #define N 10000//因为每位里存储的是小于10000的数,所以缩小4倍 
    int vis[N];
    int main()
    {
        int i,j,m;
        int c,temp;
        while(scanf("%d",&m)!=EOF)
        //scanf("%d",&m);
        {
            memset(vis,0,sizeof(vis));
            vis[0]=1;
            for(i=2;i<=m;i++)
            {
                c=0;
                for(j=0;j<N;j++)
                {
                    temp=vis[j]*i+c;
                    vis[j]=temp%10000;//直接除1000,以提高速度会wa,因为数据大的话末尾会少输出3个0 
                    c=temp/10000;
                }
            }
            for(j=N-1;j>=0;j--)
            {
                if(vis[j])
                break;
            }
            printf("%d",vis[j]);//第一个不输出前导0 
            for(i=j-1;i>=0;i--)
                printf("%04d",vis[i]);//必须加上%04 
            printf("\n");
        }
       // system("pause");
        return 0;
    }        
    
  • 相关阅读:
    junit4
    spring
    hibernate 的注意事项
    Struts2 的 命名规范
    Struts2 的标签
    OGNL
    添加删除 板块 struts2
    Struts2 的各种xml 和struts 配置信息 都是一样的
    struts2
    struts2
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2615271.html
Copyright © 2011-2022 走看看