zoukankan      html  css  js  c++  java
  • 暑假热身 A. GCC

    GCC编译器是一个由GNU项目维护的编译系统,它支持多种编程语言的编译。但是它并不包含数学运算符“!”。在数学中,这个符号代表阶乘。表达式n!的意思是从1到n的所有整数的乘积。

    例如,4!=4*3*2*1=24. (0!定义为1) 现在请你写程序计算一下 (0! + 1! + 2! + 3! + 4! + ... + n!)%m。

     

    Input

    第一行是一个整数T,代表了测试数据的组数。

    每组测试数据单独一行,包括一个整数n和m,用一个空格隔开。

    0 < T <= 20 0 <= n < 10^100 0 < m <= 10000

     

    Output

    对应每组输入,单独输出一行,给出(0! + 1! + 2! + 3! + 4! + ... + n!)%m的结果。

     

    Sample Input

    1
    10 1017

    Sample Output

    424

    每算一次取一次余有效减少运算量。
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cmath>
     4 using namespace std;
     5 int main()
     6 {
     7     long m;
     8     long n = 0;
     9     char ch[110];
    10     int num, i;
    11 
    12     cin >> num;
    13     for (int test = 1; test <= num; test++)
    14     {
    15         scanf("%s %ld", ch, &m);
    16         for (i = 0; ch[i] != ''; i++)
    17             ;
    18         int len = i;
    19         if(len>=7)
    20         {
    21             n=m-1;
    22         }
    23         else
    24         {
    25             int k = 1;
    26             n = ch[len-1]-'0';
    27             for (int j = len-2; j >= 0; --j)
    28             {
    29                 n += long((ch[j] - '0') * pow(10.0, double(k)));
    30                 k ++;
    31                 if (n >= m)
    32                 {
    33                     n = m-1;
    34                     break;
    35                 }
    36             }
    37         }
    38         long long s = 1;
    39         for (i = n; i >= 1; i--)
    40         {
    41            s = (1 + i * s) % m;
    42            //s = 1 % m + ((i % m) * (s % m)) % m;
    43         }
    44         s %= m;
    45         cout << s << endl;
    46     }
    47     return 0;
    48 }
    View Code
  • 相关阅读:
    毕业一年的广州之行
    js一个抽奖的例子
    关于position:absolute的困惑
    px,pt,em,rem
    HTML4.01和XHTML1.0和XHTML1.1的一些区别
    通过微信分享链接,后面会被加上from=singlemessage&isappinstalled=1可能导致网页打不开
    windows无提示关闭页面
    canvas画随机闪烁的星星
    angular背景图片问题
    Python爬虫(二)— Python3内置模块 Urllib
  • 原文地址:https://www.cnblogs.com/dzzy/p/4733968.html
Copyright © 2011-2022 走看看