Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
19724 | 肖奕然 | 最大乘积 | C++ | 解答错误 | 40 | 0 MS | 268 KB | 719 | 2021-05-21 21:10:21 |
#include<iostream> using namespace std; long long n,x=0,sss=0,ss=1,i=2,t=1,z=0; int a[10001]={}; int s[10001]={}; void jc(int x) { for(int i=1;i<=t;i++) { s[i]=s[i]*x; } for(int i=1;i<=t;i++) { if(s[i]>=10) { long long add=s[i]/10; s[i+1]+=add; s[i]=s[i]%10; if(i+1>t) t=i+1; } } } int main() { s[1]=1; cin>>n; while(sss<n) { a[++x]=i; sss+=i; i++; } a[sss-n-1]=0; for(int i=1;i<=x;i++) { //if(a[i]!=0)cout<<a[i]<<' '; if(a[i]!=0)jc(a[i]); } //cout<<endl; for(int i=t;i>=1;i--) /*cout<<*/z+=s[i]; //cout<<endl; cout<<z; return 0; }