sách gpt4 ai đã đi

java - 质数 III 第 18 题——我没有得到正确答案,尽管我认为我是对的

In lại 作者:行者123 更新时间:2023-11-29 06:23:59 31 4
mua khóa gpt4 Nike

我是新来的。我正在尝试解决此练习 Problem 18只是为了加强我的解决能力。我已经编码了答案。该任务要求“在 1,000,000 以下的质数中,有多少个数位之和等于两周中的天数?” (两周是 14 天)。我的答案是 16708,但它是错误的。我希望你可以帮助我。我不知道我的错误是什么。我有 2 种方法,一种用于生成素数,另一种用于计算每个素数的位数。

Đây là mã của tôi:

import java.util.ArrayList;
import java.util.List;

public class Problema18 {

public static void main(String args[]) {
ArrayList num = primes();
System.out.println(num);
count(primes());
}

public static ArrayList primes() {
List primes = new ArrayList();
primes.add(2);

for (int i = 3; i <= 1000000; i += 2) {
boolean isPrime = true;

int stoppingPoint = (int) (Math.pow(i, 0.5) + 1);
for (int p : primes) {
if (i % p == 0) {
isPrime = false;
phá vỡ;
}
if (p > stoppingPoint) { break; }
}
if (isPrime) { primes.add(i); }
}
// System.out.println(primes);
return (ArrayList) primes;
//System.out.println(primes.size());
}

public static void count(ArrayList num) {
int count = 0;

for (int i = 0; i <= num.size() - 1; i++) {
int number = num.get(i);
String num1 = String.valueOf(number);
int sum = 0;

for (int j = 0; j < num1.length(); j++) {
sum = Integer.parseInt(num1.charAt(j) + "") + sum;
if (sum == 14) { count++; }
}
System.out.println(sum);
}
System.out.println(count);
}
}

1 Câu trả lời

您应该在内部 for 循环之外检查 sum == 14 是否存在。现在发生的情况是,您还计算了那些数字总和大于 14 但素数某些前缀中的数字总和等于 14 的素数。

关于java - 质数 III 第 18 题——我没有得到正确答案,尽管我认为我是对的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6158135/

31 4 0
Bài viết được đề xuất: SQL 仅选择最近 y 天内玩过 x 场比赛的玩家?
Bài viết được đề xuất: python - 使用 pip 安装 MySQL-python 时出错
Bài viết được đề xuất: mysql - 当列中的值等于某个值时动态更改它
Bài viết được đề xuất: c# - 其他语言的Mysql查询
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com