zoukankan      html  css  js  c++  java
  • ACM HDU 2674 N! Again(数论)

    继续数论。。


    Problem Description

    WhereIsHeroFrom:            Zty,what are you doing ?
    Zty:                                    Iwant to calculate N!......
    WhereIsHeroFrom:            Soeasy! How big N is ?
    Zty:                                    1<=N <=1000000000000000000000000000000000000000000000…
    WhereIsHeroFrom:            Oh! Youmust be crazy! Are you Fa Shao?
    Zty:                                    No.I haven's finished my saying. I just said I want to calculate N! mod 2009


    Hint : 0! = 1, N! = N*(N-1)!

    Input

    Each linewill contain one integer N(0 <= N<=10^9). Process to end of file.

    Output

    For eachcase, output N! mod 2009

    Sample Input

    4 
    5

    Sample Output

    24
    120
    
    


    /*****************************************************

    数据规模  1<N<10^9,妥妥的要找规律了。。


    从  N = 1  到N = 40  时还都能正常算出,(正常规律  num[i] = num[i-1] * i %2009;  (   1<N<10^9),,,N 为40时,num[N] = 245,可以发现  245 * 41 = 10045 = 2009 * 5,

    所以,就可以知道了,N>40时,输出全部为  0。。。

    ***********************************************************/


    #include<stdio.h>
    #include<iostream>
    using namespace std;
    int num[42];
    void cal()
    {
    	num[0] = 1,num[1] = 1;
    	for(int i = 2;i<42;i++)
    		num[i] = num[i-1]*i%2009;
    }
    int main()
    {
    
    	int n;
    	cal();
    	while(cin>>n)
        {
            if(n>41)
                printf("%d
    ",0);
            else
                printf("%d
    ",num[n]);
        }
    	return 0;
    }
    


  • 相关阅读:
    C# WPF透明黑色样式窗口
    ExtJS速学
    编译away3d例程序记
    用VC加载Lua.lib,C++调用lua脚本函数
    mysql数据库备份
    Google TTS(文字转语音)api 2
    C Sharp Coding Standards
    微信公众平台功能大杂烩 ip/域名查询 车牌号归属地查询 手机归属地查询 公交查询 英汉互译
    google jsapi学习记录
    Google TTS(文字转语音)api
  • 原文地址:https://www.cnblogs.com/gray1566/p/3704296.html
Copyright © 2011-2022 走看看