4 条题解
-
1
#include<bits/stdc++.h> using namespace std; const int MAXN=1e5+5; int pri[MAXN],now; int vis[MAXN]; void prime(int n){ memset(vis,0,sizeof(vis)); int m=0; for(int i=2;i<=n;i++){ if(vis[i]==0){ vis[i]=i; pri[++m]=i; } for(int j=1;j<=m;j++){ if(pri[j]>vis[j]||pri[j]>n/i) break; vis[i*pri[j]]=pri[j]; } } for(int i=1;i<=m;i++) printf("%d ",pri[i]); } vector<int>factor(int x){ vector<int>ret; for(int i=2;i*i<=x;i++){ while(x%i==0){ ret.push_back(i); x/=i; } } if(x>1) ret.push_back(x); return ret; } vector<int>S; long long read(){ long long ans=0,f=1; char ch=getchar(); while(!isdigit(ch)){ f*=(ch=='-')?-1:1; ch=getchar(); } while(isdigit(ch)){ ans=(ans<<3)+(ans<<1)+(ch^48); ch=getchar(); } return ans*f; } int main(){ int n=read(),m=read(); for(int j=n;j<=m;j++){ S=factor(j); printf("%d",j); for(int i=0;i<S.size();i++){ if(i==0) printf("=%d",S[i]); else printf("*%d",S[i]); } printf("\n"); } }
- 1
信息
- ID
- 19
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 5
- 标签
- 递交数
- 664
- 已通过
- 263
- 上传者