'Dart store prime numbers in array

May I know how to store the N prime numbers, which I got from for loop in an array in dart?

import 'dart:io';

void main() {
  // print('enter a start number');
  // int a = int.parse(stdin.readLineSync()!);
  print('enter a  number');
  int b = int.parse(stdin.readLineSync());
  print('this are prime numbers');
  primenum(b);
  var z = '';
}

primenum(b) {
  String string = "";
  int a = 2;
  outerLoop:
  for (int i = a; i <= b; i++) {
    for (int x = 2; x <= i / a; x++) {
      if (i % x == 0) {
        continue outerLoop;
      }
    }

    var z = i.toString();

    // print(z);
    var h = z;
    //  String str = '';
    string = string + h;
  }
  List d = string.split('');
  print(d);
}

Using the above code, I am able to get those numbers in List. But the double-digit numbers are splitting.

May I know How to solve the above task? using dart.



Solution 1:[1]

The way you're doing string.split is splitting the string into a list of each individual character. Instead, you can add each prime number to a List directly without doing string manipulation.

primenum(b) {
  List<String> d;
  int a = 2;
  outerLoop:
  for (int i = a; i <= b; i++) {
    for (int x = 2; x <= i / a; x++) {
      if (i % x == 0) {
        continue outerLoop;
      }
    }

    d.add(i.toString());
  }
  print(d);
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1