Olympian Math Problem

Olympian Math Problem

这两题都是ACM各大网络赛的“签到题”,可以退出,只要不是徐州这种特别变态的赛区,一般总有一道不算难的题。

爱丽丝,一个年级的学生66正在考虑一个奥林匹克数学问题,但她感到如此绝望,以至于她哭了。她的同学鲍勃对这个问题一无所知。所以他想让你帮他。问题是:

我们表示K!k!:

K!=1\乘以2\c点\乘以(k-1)\kk!=1×2×⋯×(k−1)×k

我们表示SS:

S=1\乘以1!+2\乘以2!+\cdots+S=1×1!+2×2!+⋯+
(n-1)\次数(n-1)!(n−1)×(n−1)!

然后SS模块nn是_

您将得到一个整数。nn.

你得计算一下SS模数nn.

输入

第一行包含一个整数。T(T_Le 1000)T(T≤1000),表示测试用例的数量。

对于每个测试用例,都有一行具有整数的行。nn.

保证2 le 10{18}2≤n≤1018.

输出量

对于每个测试用例,打印一个整数。SS模数nn.

暗示

第一个测试是:S=1\乘以1!=1S=1×1!=1,和11模数22是11.

第二个测试是:S=1\乘以1!+2\乘以2!=5S=1×1!+2×2!=5,和55模数33是22.

样例输入复制

2
2
3

样例输出复制

1
2

题目来源

ACM-ICPC 2018南京赛区网络预赛

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    long long n;
    while(t--)
    {
        cin>>n;
        cout<<n-1<<endl;
    }
}

没错代码就是这样的,我开始正儿八经的按常规方法搞,时间复杂度是o(N)都过不了,然后找规律就过了。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114879.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号