提交时间:2025-10-15 18:16:58
运行 ID: 38506
#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; }