前提・実現したいこと
高速化(大きい値を入力しても処理できるようになりたい)
C言語の授業でVsコードを使っています。今プログラミングをしたのは入力した値に近い素数を見つけるというものです。
高速化ができてないため数が大きいと処理できません。助けて下さい、、提出火曜の夜までなんです、、
//説明
#include<stdio.h>
long long main(void){
long long N, D;
//整数Nの設定
printf("正の整数Nを入力してください。");
scanf("%lld", &N);
//error判定
if(N<=0){
printf("もう一度入力して下さい。");
return 0;
}
// i=0から始まりマイナスしていく
else{
for (long long i = 0;;i--){
// D=0スタート
D=0;
// j=1スタートでプラスしていく、jはN+i以下で設定
for (long long j=1;j<=N+i;j++){
// N+iをjで割った時のあまりが0
if((N+i)%j == 0){
// Dに足していく
D++;
}
}
// 約数が2個の時
if(D==2){
printf("%lldに近い素数は",N);
printf("%lldです。\n", N+i);
// 素数を見つけたからおしまい
break;
}
}
}
return 0;
}
//