Условие
Дано целое число N. Необходимо вывести сумму всех простых чисел, входящих в диапазон от 1 до N включительно.
Формат входных данных
С клавиатуры вводится одно целое число N.
Формат выходных данных
Вывести одно целое число – сумму всех простых чисел от 1 до N.
Python
Помогите с задачей, пожалуйста
С ситом Эратосфена:
from math import sqrt
while True:
n = int(input("n: "))
num = [True for k in range(n+1)]
num[0] = num[1] = False
for k in range(2, int(sqrt(n)) + 1):
if num[k]:
nk = n // k + 1
for m in range(2, nk):
num[m * k] = False
s = 0
for i in range(n + 1):
if num[i]:
s += i
if s:
print(s)
Zhiger Kairatov
alean80
Ладно хоть у Вас ещё сумма правильная, но всё равно как-то слишком долго она вычисляется. А если n где-нибудь 40000000? Тогда вообще пипец...
is_prime = lambda x: x > 1 and [i for i in range(2, x // 2 + 1) if not(x % i)] == []
print(sum(i for i in range(1, int(input()) + 1) if is_prime(i)))
UPD:
res = 0
for i in range(int(input())+1):
if len([m for m in range(1, i+1) if i % m == 0]) == 2:
res += i
print(res)
Tosha 4Ema
ПРОСТЫХ чисел.
Вот пример кода на Java, который вычисляет сумму всех простых чисел от 1 до N:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sum = 0;
for (int i = 2; i <= n; i++) {
if (isPrime(i)) {
sum += i;
}
}
System.out.println(sum);
}
public static boolean isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) return false;
}
return true;
}
}
```
Этот код считывает целое число N с клавиатуры и вычисляет сумму всех простых чисел от 1 до N. Затем он выводит результат на экран. Функция `isPrime` проверяет, является ли число простым или нет. Вы можете использовать этот код как основу для решения вашей задачи. Пожалуйста, дайте мне знать, если вам нужна дополнительная помощь.
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sum = 0;
for (int i = 2; i <= n; i++) {
if (isPrime(i)) {
sum += i;
}
}
System.out.println(sum);
}
public static boolean isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) return false;
}
return true;
}
}
```
Этот код считывает целое число N с клавиатуры и вычисляет сумму всех простых чисел от 1 до N. Затем он выводит результат на экран. Функция `isPrime` проверяет, является ли число простым или нет. Вы можете использовать этот код как основу для решения вашей задачи. Пожалуйста, дайте мне знать, если вам нужна дополнительная помощь.
Серик Азимжанов
У меня в начале вопроса написано Python. Значит мне не нужна Java, а нужен Python
Похожие вопросы
- Помогите решить задачу пожалуйста
- Пожалуйста, помогите решить задачу на Python. Упражнения 57,58,59,60.
- Помогите решить задачу в питоне, пожалуйста.
- Помогите решить задачу на питоне. пожалуйста.
- Помогите решить задачу на языке Python пожалуйста!
- Помогите с задачей по программированию!(
- Пожалуйста помогите решить задачу решение желательно! P.S (всё это выполняется в саблайм текст)
- Пожалуйста помогите решить задачу на Упражнения 49,50,52,53. Срочно и быстро
- Пожалуйста, помогите решить задачу на Python. Упражнение 124, 125, 146
- Помогите решить задачу на питон!!