示例#1
0
文件: p35.c 项目: ipeet/euler
int main() {
	printf("Last prime lte %d: %ld\n",LIMIT,g_last_prime_lte(LIMIT));
	
	unsigned int i;
	unsigned int count = 0;
	for(i=0;get_prime(i)<LIMIT;++i) {
		if(is_circ(get_prime(i))) {
			//printf("Found solution: %ld\n",get_prime(i));
			++count;
		}
	}
	printf("Found %d circular primes.\n",count);
	
	return 0;
}
示例#2
0
void hash_table_resize(hash_table * t){

	printf("performing resize\n");

	// find the lowest prime greater than 2 * size
	int old_size = t->size;
	t->size = get_prime(t->size * 2);
	element ** new_buckets = (element **) calloc(t->size,sizeof(element *));
	
	int i;
	for(i = 0; i < old_size ; i++){
		element * e = t->buckets[i];
		int h;
		while(e != NULL){
			element * next = e->next;
			e->next = NULL;
			h = hash(t,e->key); 
			new_buckets[h] = e;
			e = next;

		}
	}

	free(t->buckets);
	t->buckets = new_buckets;

}
int main()
{
    int  i,j,n,max;
    get_prime();
    n=0;
    a[1]=0;a[0]=0;a[2]=0;a[3]=0;a[4]=0;
    for(i=4;i<=100000;i++)
    {
         if(!vis[i]&&!vis[i-2])
         {
             n++;
         }
         a[i]=n;
    }
    while(i<=100000)
    {
        a[i++]=n;
    }
    while(scanf("%d",&n)!=EOF)
    {
        if(n<0) break;
        printf("%d\n",a[n]);
    }
    return 0;
}
示例#4
0
int main(){
  int n, c;
  while(scanf("%d", &n) == 1 && n){
    c = get_prime(n);
    printf("%d primes found, the last one is %d\n", c, prime[c]);
  }  
  return 0;
}  
示例#5
0
int main()
{
	int i;
	fin=fopen("sprime.in","r");
	fout=fopen("sprime.out","w");
	fscanf(fin,"%d",&N);
	get_prime(t[N]);
	for(i=0;i<4;i++)
		superprime(1,fd[i]);
	return 0;
}
示例#6
0
文件: ssl.c 项目: Brilon314/jabberd2
static DH *sx_ssl_make_dh_params(BIGNUM *(*const get_prime)(BIGNUM *), const char *gen) {
    DH *dh = DH_new();
    if (!dh)
        return NULL;

    dh->p = get_prime(NULL);
    BN_dec2bn(&dh->g, gen);
    if (!dh->p || !dh->g) {
        DH_free(dh);
        return NULL;
    }
    return dh;
}
示例#7
0
int main() 
{ 
    clock_t t = clock();
    printf("%d\n", get_prime());
    printf("Time:%f\n", 1.0 * (clock() - t) / CLOCKS_PER_SEC);
    int i = 1; 
    while(primes[i] !=0)i++;
     
    printf("%d\n", primes[i-1]);
    
    
    return 0;
}
示例#8
0
int main()
{
	FILE *fin,*fout;
	int i;
	fin = fopen("pprime.in","r");
	fout = fopen("pprime.out","w");
	fscanf(fin,"%d%d",&a,&b);
	get_prime(int(sqrt(double(b)))+1);	
	get_palind();
	for(i=0;i<len;i++)
		if(palind[i]>=a && palind[i]<=b)
			fprintf(fout,"%d\n",palind[i]);
	return 0;
}
示例#9
0
int main()
{
	int n, i, prime_from, prime_to;
	get_prime();
	scanf("%d", &n);

	for (i = 0; i < n; i++)
	{
		scanf("%d%d", &prime_from, &prime_to);
		printf("%d\n", bfs(prime_from, prime_to));
	}

	return 0;
}
示例#10
0
文件: 1013.c 项目: yanzhirun/PAT
int main()
{
    int Pm, Pn;
    int* output = NULL;

    scanf("%d", &Pm);
    scanf("%d", &Pn);
    output = (int *)malloc(Pm * sizeof(int));
    get_prime (Pm, Pn, output);
    if (NULL == output)
        free(output);

    return 0;
}
示例#11
0
int main() {
  long long n;
  long long i;
  long long prime_num;

  prime_num = get_prime (prime, N);

  while (scanf ("%lld", &n) != EOF) {
    if (n == -1) break;

    for (i=0; i<prime_num && n!=1; i++) {
      while (n % prime[i] == 0) {
        printf ("    %lld\n", prime[i]);
        n /= prime[i];
      }
    }
    if (n != 1) printf ("    %lld\n", n);
    printf ("\n");
  }

  return 0;
}
示例#12
0
文件: 1845.cpp 项目: gdjs2/poj
int main()
{
    get_prime();
    scanf("%lld %lld", &A, &B);
    for(int i = 1; prime[i] * prime[i] <= A, i <= prime[0]; ++i)
    {
        while(A % prime[i] == 0)
        { ++num[i]; A /= prime[i]; }
        if(!num[i]) continue;
        if( (prime[i]-1) % 9901 == 0 ) ans *= ((q_pow(prime[i], num[i]*B+1, mod*(prime[i]-1))) / (prime[i] - 1)) % mod;
        else ans *= ( (q_pow(prime[i], num[i]*B+1)-1) * (q_pow(prime[i]-1, mod-2)) ) % mod;
        ans %= mod;
    }
    if(A > 1)
    {
        if( (A-1) % mod == 0) ans *= ((q_pow(A, B+1, mod*(A-1))) / (A-1)) % mod;
        else ans *= ( (q_pow(A, B+1)-1) * (q_pow(A-1, mod-2))) % mod;
        ans %= mod;
    }
    printf("%lld\n", (ans+mod) % mod);
    return 0;
}
示例#13
0
文件: ead-client.c 项目: 4pao/openwrt
int main(int argc, char **argv)
{
	int val = 1;
	char *st = NULL;
	const char *command = NULL;
	const char *prog = argv[0];
	int ch;

	msg->magic = htonl(EAD_MAGIC);
	msg->sid = 0;

	memset(&local, 0, sizeof(local));
	memset(&remote, 0, sizeof(remote));

	remote.sin_family = AF_INET;
	remote.sin_addr.s_addr = 0xffffffff;
	remote.sin_port = htons(EAD_PORT);

	local.sin_family = AF_INET;
	local.sin_addr.s_addr = INADDR_ANY;
	local.sin_port = 0;

	while ((ch = getopt(argc, argv, "b:s:h")) != -1) {
		switch(ch) {
		case 's':
			inet_aton(optarg, &serverip);
			break;
		case 'b':
			inet_aton(optarg, &remote.sin_addr);
			break;
		case 'h':
			return usage(prog);
		}
	}
	argv += optind;
	argc -= optind;

	switch(argc) {
	case 3:
		command = argv[2];
		/* fall through */
	case 2:
		username = argv[1];
		st = strchr(username, ':');
		if (st) {
			*st = 0;
			st++;
			strncpy(password, st, sizeof(password));
			password[sizeof(password) - 1] = 0;
			/* hide command line password */
			memset(st, 0, strlen(st));
		}
		/* fall through */
	case 1:
		nid = strtoul(argv[0], &st, 16);
		if (st && st[0] != 0)
			return usage(prog);
		/* fall through */
	case 0:
		break;
	default:
		return usage(prog);
	}

	msg->nid = htons(nid);
	s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
	if (s < 0) {
		perror("socket");
		return -1;
	}

	setsockopt(s, SOL_SOCKET, SO_BROADCAST, &val, sizeof(val));

	if (bind(s, (struct sockaddr *)&local, sizeof(local)) < 0) {
		perror("bind");
		return -1;
	}
	sockflags = fcntl(s, F_GETFL);

	if (!send_ping()) {
		fprintf(stderr, "No devices found\n");
		return 1;
	}

	if (nid == 0xffff)
		return 0;

	if (!username || !password[0])
		return 0;

	if (!send_username()) {
		fprintf(stderr, "Device did not accept user name\n");
		return 1;
	}
	timeout = EAD_TIMEOUT_LONG;
	if (!get_prime()) {
		fprintf(stderr, "Failed to get user password info\n");
		return 1;
	}
	if (!send_a()) {
		fprintf(stderr, "Failed to send local authentication data\n");
		return 1;
	}
	if (!send_auth()) {
		fprintf(stderr, "Authentication failed\n");
		return 1;
	}
	if (!command) {
		fprintf(stderr, "Authentication succesful\n");
		return 0;
	}
	if (!send_command(command)) {
		fprintf(stderr, "Command failed\n");
		return 1;
	}

	return 0;
}
示例#14
0
文件: G.cpp 项目: szefany/training
int main() {
	get_prime();
	long long l, r;
	while (scanf("%lld%lld", &l, &r) && l + r > 0) {
		for (int i = 0; i < N; ++ i) {
			neighbors[i].clear();
		}
		std::set<long long> set;
		for (long long i = l; i <= r; ++ i) {
			long long x = i;
			for (int j = 0; (long long)primes[j] * primes[j] <= x; ++ j) {
				if (x % primes[j] == 0) {
					set.insert(primes[j]);
				}
				while (x % primes[j] == 0) {
					x /= primes[j];
				}
			}
			if (x > 1) {
				set.insert(x);
			}
		}
		size = 0;
		for (std::set<long long>::iterator iter = set.begin(); iter != set.end(); iter ++, size ++) {
			long long x = *iter;
			map[size] = x;
			for (long long i = l; i <= r; ++ i) {
				if (i % x == 0) {
					neighbors[i - l].push_back(size);
					// printf("%d %d\n", i, x);
				}
			}
		}
		n = r - l + 1;
		memset(invalid, 0, sizeof(invalid));
		memset(answer, 0, sizeof(answer));
		for (int i = 0; i < n; ++ i) {
			for (int j = 0; j < (int)neighbors[i].size(); ++ j) {
				int x = neighbors[i][j];
				if (invalid[x]) {
					continue;
				}
				invalid[x] = true;
				if (!max_match(i + 1)) {
					invalid[x] = false;
				} else {
					answer[i] = map[x];
					break;
				}
			}
			if (answer[i] == 0) {
				for (int j = 0; j < neighbors[i].size(); ++ j) {
					int x = neighbors[i][j];
					if (!invalid[x]) {
						answer[i] = map[x];
						invalid[x] = true; 
						break;
					}
				}
			}
		}
		for (int i = 0; i < n; ++ i) {
			printf("%lld%c", answer[i], i == n - 1 ? '\n' : ' ');
		}
	}
	return 0;
}
示例#15
0
文件: 7.c 项目: qusijun/euler
int main(void)
{
    printf("%d",get_prime());
    return 0;
}