給定n個數,求這n個數因子個數和。
例如n=3
3 4 10
3的因子有1 3
4的因子有1 2 4
10的因子有1 2 5 10
因此個數是2+3+4=9java
折半查找要比挨個查詢快得多,而根據平方根要比折半查找更快。code
public class Pan { public static void main(String[] args) { // TODO Auto-generated method stub for(int x=1;x<=20;x++) System.out.println(solve(x)); } public static int solve(int x) { int count=0,i; for(i=1;i<Math.sqrt(x);i++) { if(x%i==0) count+=2; } if(i==Math.sqrt(x)&&x==i*i) count++; return count; } }