小编imp*_*gma的帖子

为什么我执行的阿特金筛选数量接近指定的限制?

对Atkin筛选的实施要么忽略接近极限的质数,要么忽略接近极限的复合材料.虽然有些限制有效,有些却没有.对于什么是错误,我完全感到困惑.

def AtkinSieve (limit):
results = [2,3,5]
sieve = [False]*limit
factor = int(math.sqrt(lim))
for i in range(1,factor):
    for j in range(1, factor):
        n = 4*i**2+j**2
        if (n <= lim) and (n % 12 == 1 or n % 12 == 5):
            sieve[n] = not sieve[n]
        n = 3*i**2+j**2
        if (n <= lim) and (n % 12 == 7):
            sieve[n] = not sieve[n]
        if i>j:
            n = 3*i**2-j**2
            if (n <= lim) and (n % 12 == …
Run Code Online (Sandbox Code Playgroud)

python math primes sieve-of-atkin

3
推荐指数
1
解决办法
2330
查看次数

在为Arduino编写自定义类时,获取错误'不会命名类型'

在为Arduino编写新库之后,编译器无法识别这个新类并返回错误,

BinaryCounter:15:错误:'二进制'没有命名类型

以下是产生错误的文件.该类定义Binary.h,实现Binary.cpp和使用BinaryCounter.ino

Binary.h

#ifndef Binary_h
#define Binary_h

#include "Arduino.h"

class Binary {
  public:
    Binary (int pins[], int numPins);
    void display(int number);
    void clear();
  private:
    boolean *_values;
    int *_pins;
    int _numPins;
    void _update();
    void _setValues (int num);
};

#endif
Run Code Online (Sandbox Code Playgroud)

Binary.cpp

#include "Binary.h"

Binary::Binary(int pins[], int numPins) {
  _values = new boolean[numPins];
  _pins = pins;
  _numPins = numPins;

  for (int i = 0; i < _numPins; i ++) {
    pinMode(_pins[i], OUTPUT);
    _values[i] = false;
  }

  _update(); …
Run Code Online (Sandbox Code Playgroud)

c++ arduino

1
推荐指数
1
解决办法
3410
查看次数

标签 统计

arduino ×1

c++ ×1

math ×1

primes ×1

python ×1

sieve-of-atkin ×1