C/C++の宿題は拙者が斬る! 29代目
■ このスレッドは過去ログ倉庫に格納されています
0331デフォルトの名無しさん
NGNGint main(void)
{
/* unsigned long = 32Bit */
unsigned long *prime, count, number, index, *memory;
char loop;
prime = (unsigned long *)malloc(1 * sizeof(unsigned long));
if (prime == NULL) return 1;
prime[0] = 2;
count = 1;
printf("%u\n", prime[0]);
number = 3;
while (number != 1) {
for (loop = -1, index = 0; loop && index < count; index++) {
if (number % prime[index] == 0) loop = 0;
if (prime[index] >= number / 2) break;
}
if (loop) {
memory = (unsigned long *)realloc(prime, (count + 1) * sizeof(unsigned long));
if (memory == NULL) {
free(prime);
return 1;
}
prime = memory;
printf("%u\n", number);
prime[count++] = number;
}
number += 2;
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています