SDUTOJ3111-取余运算?

取余运算?

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

取余运算:设x = a%b,则x即为a除以b的余数,如x = 5%2,则x == 1。
另外取余还有一些性质,如(a*b*c)%d == (((a*b)%d)*c)%d。
现在问题来了,给出n个正整数Xi,求出它们的乘积对1000000007取余的结果。

输入

多组输入。
对于每组输入:
首先输入一个正整数n(1 <= n <= 1000)。
接下来的n行,每行一个正整数Xi(1  <= Xi <= 1000)。
 

输出

对于每组数据输出一个整数代表答案。

示例输入

3
1
2
3
3
1000
1000
1000

示例输出

6
1000000000
 
 
 
 
 
 
这题没有什么难度,只是要注意在求乘积的过程中可能会溢出,所以要用long long型。

代码

 
 
 
 
 
 
 
 
#include <cstdio>

int main()
{
    int n,a;
    long long mul;
    while(~scanf("%d",&n))
    {
        mul=1;
        while(n--)
        {
            scanf("%d",&a);
            mul=(mul*a)%1000000007;
        }
        printf("%lld\n",mul);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值