acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 11

    #include <bits/stdc++.h> using namespace std; //判断素数 bool su(int a) { for(int i=2; i<=sqrt(a); i++) { if(a%i0) return false; } return true; } int main() { int n; cin>>n; int flag=1;//第一个输出的前面不加*号 for(int i=2; i<=n; i++) { if(su(i)&&n%i0) { int cnt=0; while(n%i==0) { cnt++; n/=i; } if(cnt>1) { if(!flag) //不是第一个输出的 cout<<"*"<<i<<"^"<<cnt; else cout<<i<<"^"<<cnt; flag=0;//已经输出了第一个 }

    userId_undefined

    蔡鑫龙

    倔强青铜
    18阅读
    0回复
    0点赞
  • 题解

    #include<bits/stdc++.h> using namespace std; int main(){ int n,f = 0; cin >> n; map<int,int>mp; for(int i=2;i<=n;i++){ while(n%i0){ if(!f) f = i; mp[i]++; n /= i; } } for(auto i:mp) { if(i.first != f) cout << "*"; if(i.second1) cout << i.first; else cout << i.first << "^" << i.second; } }

    userId_undefined

    AK君

    倔强青铜
    9阅读
    0回复
    0点赞
首页