竞赛
考级
zsy
#include<iostream> using namespace std; int main(){ long long a,b,c=1; cin>>a; for(int i=1;i<=a;i++){ cin>>b; c=c*b; if(c>1000000){ cout<<">1000000"; return 0; } } cout<<c; return 0; }
LS_YZY
首先 这道题需要我们求出111~nnn中所有aia_iai 的乘积 由小学知识可以知道 乘法其实就是多次的加法 比如 3∗4=3+3+3+3=4+4+43*4=3+3+3+3=4+4+4 3∗4=3+3+3+3=4+4+4 所以 我们可以创建一个数组,每次获取当前值sumsumsum(也就是数组的总和) 然后把111~a−1a-1a−1位都加上目前的总和,那么总共加了a−1a-1a−1个sumsumsum,所以 sum+sum∗(a−1)=sum∗asum+sum*(a-1)=sum*a sum+sum∗(a−1)=sum∗a 我们就完美的求出了乘法! 那么只需要用线段树维护区间加和区间求和就可以了 上代码!
stdCharly
不会还有人不知道python有三目运算符吧?
无敌的鳖佬仔给老爷爷猜猜被
提交答案之后,这里将显示提交结果~