QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2166|回复: 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组决赛题解第四题
    7 f8 ^* ]2 M( @9 c. C* b2 K, I
    + j" N% A5 _4 v% p
    题意:  寻找有100个约数的最小数* Y& C# o: x/ I" P* P
    思路:  本质上就是用了素因子分解,假设分解出来的素因子有4种,分别有x1个,x2个,x3个,x4个,第i种因子可以选0个或者1个或者2个或者···或者xi个,那么因子总数为(x1+1)*(x2+1)*(x3+1)*(x4+1)+ Q, @7 q/ v/ M/ ], Y( S
    0 _( x* o* q2 Y
    结果:45360
    ; }& p) H/ @0 k5 {$ J. I
    * B. c) q0 v; M代码:
    . o, G" N# V8 n1 b" k  `5 W+ }' @& ^2 m5 Y7 i) v: s4 ~- {# ^# o' J
    #include<bits/stdc++.h>
      \8 N) I) u4 Z* P. a#define mem(a,b) memset(a,b,sizeof(a)): @8 q  G4 H3 x
    using namespace std;
    0 a! a* T, ~( z1 Y/ dtypedef long long ll;
    ' n; i" I8 t6 S# q& _, Bconst int inf = 0x3f3f3f3f;7 ?' q$ P, K6 R" y7 m) H
    const int maxn = 3e5+55555;
    6 Y& F3 i" d$ [' Gconst ll mod = 998244353;
    - J% j+ W3 ~; }( o9 f) ?) ^0 [const double eps = 1e-7;9 _0 w$ F( X3 j

    0 I# _$ U4 P; e5 {bool vis[123456];, t- p! r% ^9 s' s) X$ j) n8 V
    vector<int>prime;
    8 M5 a% ]9 }, F9 f/ j; w! W+ h- j
    + q# q8 [0 C2 C* hvoid init() { //素数筛6 d8 N' c+ V" ~! A
        for(int i = 2;i<= 30000;i++) {! M. F: O9 ?1 H1 s0 O  r
            if(!vis) {" R+ V3 q& Q& d$ Q7 D9 r* v2 ?
                for(int j = i*i;j<= 30000;j+= i) {
    0 E1 t7 Y/ t2 S% e                vis[j] = true;
    ( x: h: W  A+ k; T: M; G            }
    / ], J+ [1 K+ p# d1 q( t2 ?* s1 {; a/ S        }
    0 @, Y$ q% y' H6 Q/ R8 j) m' w    }
    & Q1 f0 v+ z+ U, {% _    for(int i = 2;i<= 2019;i++) {2 W" x) r$ v+ k: `! u8 p4 o
            if(!vis) prime.push_back(i);
    ( a7 L/ n" }7 V2 T8 Q    }1 k; [" }" E2 ^
        return ;
    ( [; K" k$ J5 a; h% h}! O$ J, k6 L8 x
    ( J  P9 c" j2 A  ]7 J  I# t
    int cal(int x) { 4 b( l: R7 f; Q# {
        int num[123];
    6 D8 @5 ^. ~7 ~7 y  |7 R# A/ g    mem(num,0);
    ) v# o7 q# C5 _6 e, F: |
    $ z2 n" n/ k5 a. g* k2 B    int k = prime.size(),cnt = 0;9 l" G9 j% q, z
        for(int i = 0;i< k;i++) { // 分解素因子
    + Y, I$ _. l" j        if(x%prime == 0) {' }5 G* v6 {1 u4 H: ^/ w
                cnt++;. D; l4 v' j8 Y% ]. \  u4 e* X! p
                while(x%prime == 0) {, }9 ~0 O, o$ g  P9 z% C
                    x/= prime;
    ( w! T% B5 [; |                num[cnt]++;% \$ g* }7 R4 @1 L& l0 u) J. t: j" y
                }
    6 ~2 n; m9 F* ]        }
    8 D( L( Y$ H, P9 M# R  a    }% H% F( v% J; u3 y. P/ E6 u
        int ans = 1;" D! x. e2 f- E% E. s3 Z- ^
        for(int i = 1;i<= cnt;i++) { //计算因子总数# l4 a7 y' N2 U8 O* k5 _
            ans*= (num+1);: J1 ?' h' g8 \
        }
    - A8 Z! l; R' P: ]2 w8 O! |1 k    return ans;
    % T$ H3 c0 o$ }% i8 X}
      m. D% r7 p( b, B7 }8 X
    + a/ \- o6 s6 r9 f3 ]int main() {
    2 t( h1 Y/ q/ L% O* L, S! S0 L    init();* {5 h; r/ `# e) G! j" @
        for(int i = 99;i<= 1000000;i++) {
    ) ~7 {* b1 |2 G        if(cal(i) == 100) {
    5 }6 _# t5 E6 d0 X, M# G6 K            cout<<i<<endl;
    ) n/ S6 f- C0 n2 L            break;$ K2 Y, b, @3 w7 p
            }7 Q% b; z4 w" B; |$ G
        }
    % K& _; J0 K: B% X3 m8 w/ y6 m0 y
    0 ^; @, b# f* @- ?6 Z) H    return 0;
    + X/ o5 I8 z# C# I" S2 d3 s4 B* _}9 A+ f6 e$ X" B9 g+ G: O7 z1 j" U
    --------------------- . A0 J$ y( s$ ]7 f+ }
    作者:nka_kun   T3 W- [& R- Z& A3 T' {: q$ r
    来源:CSDN & }* b" J' i) c3 P* D/ I

    $ J+ j, ?/ P! o& P/ N( J+ y: r- q
    ( V, {& k% w" h$ A6 W
    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-7-31 22:30 , Processed in 0.536608 second(s), 51 queries .

    回顶部