求正整数 n 的所有正因数的个数,qq 次询问。
https://ac.nowcoder.com/acm/contest/22769/A
链接:https://ac.nowcoder.com/acm/contest/22769/A
来源:牛客网
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
输入描述:
第一行一个正整数 q (1≤q≤105)q\ (1\leq q\leq 10^5)q (1≤q≤105) 。
第二行到第 q+1q+1q+1 行,每行一个正整数 n (1≤n≤107)n\ (1\leq n\leq 10^7)n (1≤n≤107)。
输出描述:
对于每个询问,输出一个正整数。两个答案间用空行分隔。
输出
复制 1
2
2
3
2
1
2
2
3
2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; public class Main {
public static void main(String[] args) throws IOException {
// Scanner scanner = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int q = Integer.valueOf(br.readLine());
while (q > 0) {
// int n = scanner.nextInt();
int n = Integer.valueOf(br.readLine());
System.out.println(solve(n));
q--;
}
br.close();
} public static long solve(int n) {
int p = 2;
List<Integer> list = new ArrayList<>();
while (p <= (int) Math.sqrt(n)) {//注意上确界
int ans = 0;
while (n % p == 0) {
n = n / p;
ans++;
}
list.add(ans);
p++;
}
if(n!=1){ list.add(1);}
long ans = 1L;
for (int i = 0, size = list.size(); i < size; i++) {
ans = ans * (list.get(i)+1);
}
return ans;
}
}

求正整数 n 的所有正因数的个数,qq 次询问。的更多相关文章
- UVa 294 (因数的个数) Divisors
题意: 求区间[L, U]的正因数的个数. 分析: 有这样一条公式,将n分解为,则n的正因数的个数为 事先打好素数表,按照上面的公式统计出最大值即可. #include <cstdio> ...
- 有关求任意一个正整数的n的因数的个数的求解思路
已知条件:n=p1^a1xp2^a2xp3^a3........xpk^ak;求解n的因数的个数: 求解的主要思想:递归 设所有的因数的个数为U1: 则U1会等于什么呢? 不妨设求得p2^a2xp3^ ...
- [HNOI 2001]求正整数
Description 对于任意输入的正整数n,请编程求出具有n个不同因子的最小正整数m.例如:n=4,则m=6,因为6有4个不同整数因子1,2,3,6:而且是最小的有4个因子的整数. Input n ...
- [HNOI2001]求正整数
题目描述 对于任意输入的正整数n,请编程求出具有n个不同因子的最小正整数m. 例如:n=4,则m=6,因为6有4个不同整数因子1,2,3,6:而且是最小的有4个因子的整数. 输入输出格式 输入格式: ...
- bzoj1225 [HNOI2001] 求正整数
1225: [HNOI2001] 求正整数 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 762 Solved: 313[Submit][Statu ...
- 阶乘 求n!中质因数的个数
在n!中末尾有几个0 取决于n!中5的个数(2肯定比5多) 所以遍历从1到n的数,看总共有几个5即可 ..N do j = i; == ) ++ret; j /= ; end end 有个nb的方法: ...
- 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数
// 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数 // 思路: // http://blog.csdn.net/huzecong/article/details/847868 ...
- 求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2
作者:张小二 nyoj90 ,可以使用递归的方式直接计算个数,也可以通过把满足的个数求出来计数,因为在juLy博客上看到整数划分,所以重写了这个代码,就是列出所m的可能性,提交后正确.acmer的入门 ...
- BZOJ 1225: [HNOI2001] 求正整数( dfs + 高精度 )
15 < log250000 < 16, 所以不会选超过16个质数, 然后暴力去跑dfs, 高精度计算最后答案.. ------------------------------------ ...
- 实验一:实现求正整数1-N之间所有质数的功能,并进行测试。
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 命令行下的程序开 ...
随机推荐
- .NET Core开发实战(第28课:工作单元模式(UnitOfWork):管理好你的事务)--学习笔记
28 | 工作单元模式(UnitOfWork):管理好你的事务 工作单元模式有如下几个特性: 1.使用同一上下文 2.跟踪实体的状态 3.保障事务一致性 我们对实体的操作,最终的状态都是应该如实保存到 ...
- Pandas字符串离散化处理
字符串离散化处理 import pandas as pd import numpy as np from matplotlib import pyplot as plt # 读取csv文件 file_ ...
- 同一份代码怎能在不同环境表现不同?记一个可选链因为代码压缩造成的bug
壹 ❀ 引 某一天,CSM日常找我反馈客户紧急工单,说有一个私有部署客户升级版本后,发现一个功能使用不太正常.因为我们公司客户分为两种,一种是SaaS客户,客户侧使用的版本被动跟随主版本变动,而私有部 ...
- NC24158 [USACO 2015 Jan G]Moovie Mooving
题目链接 题目 题目描述 Bessie is out at the movies. Being mischievous as always, she has decided to hide from ...
- NC24734 [USACO 2010 Mar G]Great Cow Gathering
题目链接 题目 题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, ...
- NC16576 [NOIP2012]摆花
题目链接 题目 题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n 种花,从1 到n 标号.为了在门口展出更多种花,规定第i ...
- 【Unity3D】绘制物体表面三角形网格
1 仅绘制三角形网格 1)创建游戏对象 创建一个空对象,重命名为 Grid,并在其下添加需要绘制网格的对象,如下: 场景显示如下: 2)添加脚本组件 GridController. ...
- 【OpenGL ES】基于ValueAnimator的旋转、平移、缩放动效
1 前言 ValueAnimator 基于 Choreographer 的 frame callback 机制,周期性(约16.7ms,与屏幕帧率相关)执行其 doAnimationFrame() ...
- 如何设置mysql root密码
如何设置mysql root密码: 1.首次安装 root初始密码为空,注意就是没有密码,直接敲回车即可进入 D:\wamp\bin\mysql\mysql5.6.17\bin> mysql - ...
- 《深入理解Java虚拟机》(三)类加载机制
@ 目录 1.什么是类的加载 2.类加载的过程 加载 连接 验证 文件格式验证 元数据验证 字节码验证 符号引用验证 准备 解析: 类或接口的解析 字段解析 类方法解析 接口方法解析 初始化 结束生命 ...