| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38504 | 郭澍宇 | 【J】T1 | C++ | 通过 | 100 | 0 MS | 252 KB | 624 | 2025-10-14 15:25:10 |
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll n,p; ll dp[55]; int main(){ //freopen("sequence.in","r",stdin); //freopen("sequence.out","w",stdout); dp[0]=0,dp[1]=1; cin>>n>>p; for(int i = 2;i<=n;i++){ dp[i]=(2*dp[i-1]%p+dp[i-2])%p; } printf("%lld=",dp[n]); for(int i = 2;i*i<=dp[n];i++){ while(dp[n]%i==0){ dp[n]/=i; if(dp[n]==1)printf("%d",i); else printf("%d*",i); } if(dp[n]==1)break; } if(dp[n]>1)printf("%lld",dp[n]); //fclose(stdin); //fclose(stdout); }