zoukankan      html  css  js  c++  java
  • ural 1355

    题目:http://acm.timus.ru/problem.aspx?space=1&num=1355

    题意:给出两个数 a b,从a 可以走的编号是 b 的因子,每走一个编号就可以喝一杯酒,问从 a 到 b 可以喝到最多的酒是多少(大概是这个意思)

    思路:如果从a 到不了 b(即 b % a 不为零) 那么 ans = 0;如果可以走到,那么计算 b / a 后的素因子的个数

    View Code
     1 typedef long long ll;
     2 const int N = 32000;
     3 int prime[N];
     4 bool vis[N];
     5 int num;
     6 void is_prime()
     7 {
     8     int i,j;
     9     for(i = 2; i < N; i++)
    10     if(!vis[i])
    11     {
    12         prime[num ++] = i;
    13         for(j = 2; j * i < N; j++)
    14         {
    15             if(vis[i * j]) continue;
    16             vis[i * j] = true;
    17         }
    18     }
    19 }
    20 int main()
    21 {
    22     num = 0;
    23     is_prime();
    24     int t;
    25     int i,j;
    26     int a,b;
    27     //freopen("data.txt","r",stdin);
    28     scanf("%d",&t);
    29     while(t--)
    30     {
    31         scanf("%d%d",&a,&b);
    32         if(b % a) {printf("0\n");continue;}
    33         int tem = sqrt(b * 1.0);
    34         b /= a;
    35         int ans = 1;
    36         for(i = 0; i < num && i <= tem; i++)
    37         {
    38             while(b % prime[i] == 0)
    39             {
    40                 ans ++;
    41                 b /= prime[i];
    42             }
    43         }
    44         if(b != 1) ans ++;
    45         printf("%d\n",ans);
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    HTML 图片文字滚动
    Request.QueryString的用法
    细线表格的制作
    photoshop的小小快捷键
    制作首页
    css
    编写BLL层
    完成新闻表操作类
    编写剩下的存储过程
    重构SQLHelper2
  • 原文地址:https://www.cnblogs.com/fxh19911107/p/2682454.html
Copyright © 2011-2022 走看看