HDOJ 1215 七夕节
2017-10-31 21:26
169 查看
HDACM1215
1.采用枚举的方法,暴力解决 o(╯□╰)o
2.类似筛选法:
当i=2时,所有2的倍数的数字(除2本身)都有因子2,
当i=3时,所有3的倍数的数字(除3本身)都有因子3,
当i=4时,所有4的倍数的数字(除4本身)都有因子4,
……
当i=250000时,所有250000的倍数的数字(除250000本身)都有因子250000
最后输出结果在加上因子1;
1.采用枚举的方法,暴力解决 o(╯□╰)o
import java.util.Scanner; public class Main{ public static void main(String[] args) { int num[] = new int[500001]; Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while (t-->0) { int n = sc.nextInt(); if (num >0) { System.out.println(num ); continue; } num = 1; int j = 2; for ( ;j*j < n; j++) { if (n%j==0) { num = num +j+n/j; } } if (j*j==n) { num += j; } System.out.println(num ); } } }
2.类似筛选法:
当i=2时,所有2的倍数的数字(除2本身)都有因子2,
当i=3时,所有3的倍数的数字(除3本身)都有因子3,
当i=4时,所有4的倍数的数字(除4本身)都有因子4,
……
当i=250000时,所有250000的倍数的数字(除250000本身)都有因子250000
最后输出结果在加上因子1;
import java.util.Scanner; public class Main { public static void main(String[] args) { int num[] = new int[500001]; for (int i = 2; i <= num.length/2; i++) { for (int j = 2*i; j < num.length; j += i) { num[j] += i; } } Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while (t-->0) { System.out.println(num[sc.nextInt( 4000 )]+1); } sc.close(); } }
相关文章推荐
- hdoj.1215 七夕节 20141030
- hdoj1215七夕节
- HDOJ 1215七夕节
- hdoj-1215-七夕节
- HDOJ,水题继续,杭电1215,七夕节。关于运算优化的数学题。
- HDOJ 1215 七夕节 杭电 ACM
- HDOJ1215七夕节
- 【hdoj1215】七夕节
- hdoj 1215 七夕节
- hdu/hdoj 1215-七夕节
- hdoj-1215-七夕节
- HDOJ1215 ( 七夕节 )【居然还可以这么解~】
- HDOJ1215 七夕节
- 【HDOJ 1215】七夕节
- HDOJ 1215 HDU 1215 七夕节 ACM 1215 IN HDU
- HDOJ 1215 七夕节
- 七夕节 hdoj1215
- HDOJ 1215 七夕节
- HDOJ 1215 七夕节(因子打表)
- HDOJ 1215 七夕节