ZOJ-2723
2014-03-17 20:25
423 查看
素数分解,也是代码拷过来改几下就完事了,有现成代码就是爽
#include<stdio.h> #include<string.h> #include<math.h> int is_prime(int* primes, int num) { int i, n = (int) sqrt(num); for (i = 0; primes[i] != -1 && primes[i] <= n; i++) if (num % primes[i] == 0) return 0; return 1; } int is_in_prime_array(int* primes, int len, int num) { int low = 0, high = len - 1, center = (low + high) / 2; while (primes[center] != num) { if (low >= high) return 0; if (primes[center] < num) low = center + 1; else high = center - 1; center = (low + high) / 2; } return 1; } int main() { int n, i, primes[80000], index = 0; memset(primes, -1, 80000 * sizeof(int)); primes[index++] = 2; for (i = 3; i < 1000000; i += 2) if (is_prime(primes, i)) primes[index++] = i; while (scanf("%d", &n) != EOF) { int flag = 0, upbound = (int) sqrt(n); for (i = 0; primes[i] <= upbound; i++) if (n % primes[i] == 0 && is_in_prime_array(primes, index, n / primes[i])) { flag = 1; break; } printf(flag ? "Yes\n" : "No\n"); } return 0; }
相关文章推荐
- zoj 2723 Semi-Prime(素筛打表+搜索优化)
- zoj 2723 Semi-Prime(专门做数论的第一道水水~~)
- ZOJ 2723
- POJ 3654 & ZOJ 2936 & HDU 2723 Electronic Document Security(模拟)
- ZOJ - 2723
- zoj 2723(数论,水素数)
- ZOJ 2723 Semi-Prime (素数筛选大法)
- POJ 3654 & ZOJ 2936 & HDU 2723 Electronic Document Security(模拟)
- zoj 2723 Semi-Prime
- ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!
- zoj - 2723 - Semi-Prime
- ZOJ 2723 Semi-Prime(set容器使用)
- zoj_2723 Semi-Prime 半素数
- ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!
- ZOJ2723 Semi-Prime【素数筛选+试探法】
- ZOJ 2723 Semi-Prime
- ZOJ 2723 Semi-Prime
- ZOJ 2723 Semi-Prime
- zoj 2723 Semi-Prime(set)
- zoj 1543 Stripies