首页 > 其他 > 详细

%1e9+7问题收录

时间:2021-03-28 22:26:11      阅读:34      评论:0      收藏:0      [点我收藏+]
题目一:
问题描述:求一个序列(数组)所有非空子序列乘积之和。结果对 1000000007 取模。
 
#include <iostream>
#include <cstdio>
using namespace std;
const int M = 1e9 + 7;
#define ll long long
int main()
{
    int n;
    ll x, ans = 0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
    {
        scanf("%lld", &x);
        ans += ans * x % M + x;
        ans %= M;
    }
    printf("%lld", ans);
    return 0;
}

看题目当成一道规划题了,没多想。

解题核心ans += ans * x % M + x

即每个数乘N次加它自身。

 
 
猜测:大数阶乘,大数的排列组合等,一般都要求将输出结果对1e9+7取余.
(参考 https://blog.csdn.net/mlm5678/article/details/87910446  )
这类问题应该都是解题核心不会复杂,反复乘积。

%1e9+7问题收录

原文:https://www.cnblogs.com/thx2199/p/14589059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!