QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2114|回复: 0
打印 上一主题 下一主题

2019第十届蓝桥杯B组决赛题解第四题

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2019-6-28 15:53 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    2019第十届蓝桥杯B组决赛题解第四题
    ) }) Z; W& @$ H( D1 [# g& A
    3 ]& F: N. t7 A' S2 y
    题意:  寻找有100个约数的最小数1 J" }7 d9 w1 O* x% ~0 b* g1 m. B
    思路:  本质上就是用了素因子分解,假设分解出来的素因子有4种,分别有x1个,x2个,x3个,x4个,第i种因子可以选0个或者1个或者2个或者···或者xi个,那么因子总数为(x1+1)*(x2+1)*(x3+1)*(x4+1)
    1 P  e2 R& a) e* [+ d. i: \2 n$ s* \, P6 M% \/ t
    结果:45360
    ( K# d& w' @- o* s( C, i! h
    ! K7 U! A9 p3 p% D/ i5 F& R代码:7 ]8 F+ P- j$ g% m* G' |
    ' r' n9 t: e2 ^; ?, r) I) v' R
    #include<bits/stdc++.h>+ W' o8 h/ H5 e) i  D
    #define mem(a,b) memset(a,b,sizeof(a))
    * \+ |; M8 I4 B7 husing namespace std;
    3 e5 m7 E8 B2 |, rtypedef long long ll;
    3 c  C: J% f4 z, Q1 X, s  oconst int inf = 0x3f3f3f3f;, J9 s5 p& \" E- d1 T
    const int maxn = 3e5+55555;
    7 j& V/ \" W8 Dconst ll mod = 998244353;
    * P! S: y4 Q9 m' z2 qconst double eps = 1e-7;
    0 [9 A: G) f% W- S& B1 J. W0 ]6 L1 W: m' o0 `2 k9 C
    bool vis[123456];
    : W# u" h# J- c! ^& mvector<int>prime;" S! ]% e; a* p& e
      J- N6 m2 [- c  Y
    void init() { //素数筛2 d, w7 `' k" {: p
        for(int i = 2;i<= 30000;i++) {- b% ?6 [  ]% \4 k7 g9 c
            if(!vis) {
    % R$ S4 o8 G9 z            for(int j = i*i;j<= 30000;j+= i) {
    - c+ B/ m& M$ h$ Z; l4 A. v                vis[j] = true;
    ; b: w4 [, ~$ d9 X1 g            }
    1 A& e4 z7 _$ h- h3 B: O9 L        }: w  g' N- f3 j" y! N" p. Z
        }9 F: W. H; t. V" T, H$ x/ C/ Y
        for(int i = 2;i<= 2019;i++) {* n/ n$ R4 [( [( [) ]
            if(!vis) prime.push_back(i);
    1 h+ x. M# s9 M5 o1 Y- D    }
    7 ^7 s0 q$ g. c/ m- j* H    return ;
    & g; n9 K' }4 x' j  P. a/ h}
    , O( @/ ^7 ]1 ]4 P% n) j, a9 x- Q/ ]
    int cal(int x) { 9 `4 @: d4 c" ~2 H+ ~
        int num[123];/ i1 b* m9 A/ l9 t6 N/ e# l+ b
        mem(num,0);9 y. f1 n- ^0 r" n2 h
      l& m: a# G- x; r
        int k = prime.size(),cnt = 0;
    % M( ^# V+ ]4 J6 Y* x0 c' A    for(int i = 0;i< k;i++) { // 分解素因子
    ) c* C  x! _  b4 Q% {( ~        if(x%prime == 0) {3 z0 u& m6 [! j8 z9 E5 U$ [
                cnt++;- M  ], x. o# w8 N9 N$ ^% T+ J
                while(x%prime == 0) {" L, r2 b# _' K) b$ I
                    x/= prime;+ O) s- |6 E9 |
                    num[cnt]++;  q5 O3 k" o6 K& n+ l
                }5 q  t- R9 R1 d" ~6 x
            }3 J8 A5 P6 z& O
        }5 y& @# D" D1 o$ c+ H
        int ans = 1;
    2 X% ]. d+ y5 z- e4 F2 o    for(int i = 1;i<= cnt;i++) { //计算因子总数0 K7 S' F  @2 u, J$ F' o: f9 N
            ans*= (num+1);2 T4 x( [, g) R! Q- g
        }; P: V4 B0 Z. P6 U" u  V
        return ans;
    : C8 o  ]3 ?$ _% y. _- d}# C- j& g7 d# i6 O1 E, ~0 t

    , g3 ]$ Z* W$ r3 kint main() {4 N# B1 e; \$ U# ?# U
        init();
    ; s  z& g; K! U% Q) h    for(int i = 99;i<= 1000000;i++) {
    3 I+ L' }0 N' j        if(cal(i) == 100) {
    / s6 ?+ R, Q4 O- i- E            cout<<i<<endl;4 ]: b# V" I! s4 ~
                break;
    4 b4 D5 U7 Y8 x, q; h        }& b! ]0 y  g  m7 z1 V
        }
    0 @- i, `2 y4 F
    0 Z) q2 p! `. r    return 0;5 N* s" u1 R7 Q  v7 n5 T- ?
    }
    + ~- C; C% S, H0 S7 v--------------------- & Y9 O; l4 ?# W' p) y$ d! q! b
    作者:nka_kun
    3 g  M2 ~& ], s3 e来源:CSDN
    ! Z! l0 f" o" l" g' i7 X- {; Z6 \6 U

    + F& j0 J7 c$ F& Y" Z" ?! M9 R: `0 m+ f" a
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-14 07:37 , Processed in 0.397078 second(s), 50 queries .

    回顶部