牛客网--研究生复试--约数的个数

来源:互联网 发布:淘宝的优质网店 编辑:程序博客网 时间:2024/05/14 22:39
链接:https://www.nowcoder.com/questionTerminal/04c8a5ea209d41798d23b59f053fa4d6
来源:牛客网

输入n个整数,依次输出每个数的约数的个数
输入描述:
输入的第一行为N,即数组的个数(N<=1000)接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)当N=0时输入结束。


输出描述:
可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。
示例1

输入

51 3 4 6 12

输出

12346

查看已提交过的代码算法知识视频讲解

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();int num = 0;for(int i=0; i<n; i++){num = in.nextInt();System.out.println(divisorNum(num));}}in.close();}private static int divisorNum(int n){int answer = 0;int i;for(i=1; i*i<n; i++){//巧用i*i来减少循环次数if(n % i == 0)answer += 2;}if(i*i == n)answer++;return answer;}}


原创粉丝点击