题意就是给你一个数让你找它的正因子个数(包括自身,不包括1),这个地方用到一个公式,如果不用的话按正常思路来写会TL什么的反正就是不容易写对。

求任意一个大于1的整数的正因子个数

首先任意一个数n,n=P1^a1 * P2^a2 * P3^a3 *……Pn^an;

任意的整数n可以分解为m个素数ai次幂的连续乘机,这个地方解释不清自己再理解一下(Pi都为素数,依次往后pi越来越大,ai就是次幂,自己可以找几个任意整数n来套一下这个公式就会明白了)

然后正因子个数和:sum=(1+a1)*(1+a2)*(1+a3)……*(1+an);

用这两个公式本题就可以轻松解决啦(这里还是不清楚的就套几个数就理解这两个公式了,是完全正确的哦);

AC代码如下:

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
int pri[];
int tt[];
int s=;
void dabiao() //打个素数表会节省很多时间
{ int j;
memset(tt,,sizeof(tt));
tt[]=;
tt[]=;
for(int i=;i<=;i++)
{
if(tt[i]!=)
{
pri[s++]=i;
for(j=i+i;j<=;j+=i)
tt[j]=;
}
}
return ;
}
int main()
{
int m,i,j,k,t,cas=;
long long n,num,ans;
scanf("%d",&t);
dabiao();
while(t--)
{
scanf("%lld",&n);
num=;
for(i=;i<s&&pri[i]*pri[i]<=n;i++)
{
ans=;
if(n%pri[i]==)
{ while(n%pri[i]==)//此处就是来找素数的N次幂,存起来相乘来计算SUM
{
ans++;
n/=pri[i];
} }
num=num*(ans+);
}
if(n>)//这个地方就不解释啦,自己想想咯
num*=;
printf("Case %d: %lld\n",++cas,num-);
}
return ;
}

Trailing Zeroes (I) LightOJ - 1028的更多相关文章

  1. Trailing Zeroes (I) LightOJ - 1028(求因子个数)

    题意: 给出一个N 求N有多少个别的进制的数有后导零 解析: 对于一个别的进制的数要转化为10进制 (我们暂且只分析二进制就好啦) An * 2^(n-1) + An-1 * 2^(n-2) + `` ...

  2. Trailing Zeroes (III)(lightoj 二分好题)

    1138 - Trailing Zeroes (III)   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit:  ...

  3. Trailing Zeroes (III) LightOJ - 1138(二分)

    You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in d ...

  4. Trailing Zeroes (III) LightOJ - 1138 二分+找规律

    Time Limit: 2 second(s) Memory Limit: 32 MB You task is to find minimal natural number N, so that N! ...

  5. Trailing Zeroes (II) LightOJ - 1090(预处理+前缀和)

    求C(n,r)*p^q的后缀零 考虑一下 是不是就是求 10^k*m  的k的最大值 而10又是由2 和 5 组成  所以即是求 2^k1 * 5^k2 * m1 中k1和k2小的那一个数 短板效应嘛 ...

  6. Trailing Zeroes (III) LightOJ - 1138 不找规律-理智推断-二分

    其实有几个尾零代表10的几次方但是10=2*510^n=2^n*5^n2增长的远比5快,所以只用考虑N!中有几个5就行了 代码看别人的: https://blog.csdn.net/qq_422797 ...

  7. LightOJ 1138 Trailing Zeroes (III)(二分 + 思维)

    http://lightoj.com/volume_showproblem.php?problem=1138 Trailing Zeroes (III) Time Limit:2000MS     M ...

  8. LightOJ Trailing Zeroes (III) 1138【二分搜索+阶乘分解】

    1138 - Trailing Zeroes (III) PDF (English) problem=1138" style="color:rgb(79,107,114)" ...

  9. Trailing Zeroes (III) -;lightoj 1138

    Trailing Zeroes (III)   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Y ...

随机推荐

  1. 将表单序列化为JSON对象

    将表单序列化为JSON对象的工具方法: $(function() { //工具方法,可以将指定的表单中的输入项目序列化为JSON数据 $.fn.serializeJson = function() { ...

  2. Java编译报错:意外的类型

    先上代码 后续更新 public class IncidentType { public static void main(String[] args) { int a = 3; int b = ++ ...

  3. EDK II之驱动程序与硬件平台的初始化简介

    本文旨在简单介绍一下UEFI中驱动程序的加载方式(这里涉及的模块指的是符合UEFI Driver Model的模块): 在UEFI中,当一个驱动模块被加载时,在模块入口点只会安装EFI_DRIVER_ ...

  4. kivy 小demo

    from kivy.lang.builder import Builder from kivy.uix.boxlayout import BoxLayout from kivy.app import ...

  5. 最简单的uwsgi+nginx配置多个django站点

    1. nginx.conf http{ server { listen       80; server_name  www.web1.com ....... location / { uwsgi_p ...

  6. SaaS教父:我眼中最糟糕的9条SaaS建议(转)

    文章摘要:美国SaaS行业的教父级人物Jason Lemkin近日总结了在他眼里最糟糕的9条SaaS方面的建议,希望对SaaS行业的创业者有所启发. SaaS行业的创业者平时肯定会收到外界各种各样的建 ...

  7. Windows环境下ELK平台的搭建

    .背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采 ...

  8. Kali系列之Hydra/Medusa mysql密码爆破

    hydra hydra -L /home/chenglee/zidian/user.txt -P /home/chenglee/zidian/wordlist.TXT 192.168.137.133 ...

  9. bzoj 2753 [SCOI 2012] 滑雪与时间胶囊 - Prim

    题目传送门 传送点I 传送点II 题目大意 给定一个有$n$个点$m$条边的图,每个点有一个高度$h_{i}$,能从$u$经过一条边到达$v$,当且仅当存在一条边是$(u, v)$或$(v, u)$, ...

  10. 异步任务利器Celery(二)在django项目中使用Celery

    Celery 4.0支持django1.8及以上的版本,低于1.8的项目使用Celery 3.1. 一个django项目的组织如下: - proj/ - manage.py - proj/ - __i ...