x 理系フリマ831にあるよ
x いちおう、c++じゃないけど、めんどくさいので
目的
素数を求めて時間を測って遊ぶ
2から開始しする
割るのは、2からn-1まで割る
ちゃんと割ってあまりを求める
z = x / y
a = x - ( z * y )
いろいろ
Arduino UNOより速い
ハードウェア、乗算器と除算器があるため
結果
プログラム
//sosuu_STM8S_1
//インクルド
#include <Arduino.h>
#include "Serial.h"
void setup() {
Serial_begin(9600);
}//setup
void loop() {
int s[100];
for (int ii = 0; ii < 100; ii++) {
s[ii] = 0;
}//for
int time;
int a=1;//work
int pp = 0;
//s[pp++] = 1;//debug
//s[pp++] = 2;//debug
Serial_println_s("START>>");
time = millis();
int ii;int jj;
for (ii = 2; ii < (100 + 1); ii++) {
//Serial.print('('); //debug
//Serial.print(ii); //debug
//Serial.print(')'); //debug
//Serial.println(); //debug
for (jj = 2; jj < (ii); jj++) {
//Serial.print('['); //debug
//Serial.print(jj); //debug
//Serial.print(']'); //debug
a = ii / jj;
a = ii - (a * jj);
if ( a == 0) {
//Serial.print('*');//debug
break;
}//if
}//for
if (a != 0) {
//Serial.print('@');
s[pp++] = ii;
}
//Serial.println();//debug
}//for
time = millis() - time;
Serial_print_s("millis=");
Serial_println_i(time);
int yy = 0;
while (s[yy] != 0) {
Serial_print_i(s[yy]);
Serial_print_c(',');
yy++;
}//while
Serial_println_s("");
Serial_println_s("<<END");
delay(3000);
//while (1) {} //debug
}//loop