| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38506 | 黄子睿 | 【J】T1 | C++ | 通过 | 100 | 0 MS | 248 KB | 683 | 2025-10-15 18:16:58 |
#include<bits/stdc++.h> using namespace std; long long n,p,a[100]; int main(){ //freopen("sequence.in","r",stdin); //freopen("sequence.out","w",stdout); cin>>n>>p; a[1]=1; for(long long i=2;i<=n;i++){ a[i]=((2*a[i-1])+a[i-2])%p; } cout<<a[n]<<'='; long long flag=1; for(long long i=2;i*i<=a[n];i++){ if(a[n]%i==0){ flag=i; break; } } if(flag==1){ cout<<a[n]; }else{ cout<<flag; long long t=a[n]/flag; while(t>1){ bool f=0; for(long long i=2;i*i<=t;i++){ if(t%i==0){ cout<<'*'<<i; t/=i; f=1; break; } } if(f==0&&t>1){ cout<<'*'<<t; break; } } } return 0; }