※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

素数の判定

#include <stdio.h>
 
int isPrime(int n)
{
    int i;
 
    for (i = 2; i * i <= n; i++) {
	if (n % i == 0) {
	    return 0;
	}
    }
    return 1;
}
 
int main(void) {
    int n;
 
    printf("2以上の整数を入力: ");  scanf("%d", &n);
 
    if (isPrime(n)) {
	printf("素数です!\n");
    } else {
	printf("素数ではありません!\n");
    }
 
    return 0;
}
 



2からnまでの素数を表示する

#include <stdio.h>
 
int isPrime(int n)
{
    int i;
 
    for (i = 2; i * i <= n; i++) {
	if (n % i == 0) {
	    return 0;
	}
    }
    return 1;
}
 
int main(void) {
    int n, i;
 
    printf("2以上の整数を入力: ");  scanf("%d", &n);
 
    printf("素数を表示します\n");
    for (i = 2; i <= n; i++) {
	if (isPrime(i)) {
	    printf("%d ", i);
	}
    }
    printf("\n");
 
    return 0;
}
 



素因数分解


解答例
#include <stdio.h>
 
int main(void) {
    int n, i;
 
    printf("2以上の整数: "); scanf("%d", &n);
 
    i = 2;
    while (n > 1) {
	if (n % i == 0) {
	    printf(" %d", i);
	    n /= i;
	} else {
	    i++;
	}
    }
    printf("\n");
 
    return (0);
}
 

-