也可被3整除的前N个偶数之和。因此,如果输入为5,则前N个偶数为0、2、4、6、8。在这5个数中,只有6个可被整除乘以3,则输出为6。 到目前为止,这是我尝试过的:
import java.util.Scanner;
public class Exercise1_3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
int count=0;
while(count<n){
// I am stuck here
System.out.print(sum+" ");
sum=sum+2;
count++;
}
}
}
input: 5
// (0, 2, 4, 6, 8) only 6 divides by 3 thus
output: 6
答案 0 :(得分:1)
我发现您的代码有几个问题:
n % 3 == 0
之类的代码进行检查。尝试以下代码:
import java.util.Scanner;
public class Exercise1_3 {
public static void main(String[] args) {
// Read the input.
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// Loop over the first n even numbers.
int sum = 0;
int count = 0;
while (count < n) {
int nextEven = 2 * count;
// If the number is divisible by 3, then add to the running sum.
if (nextEven % 3 == 0) {
sum += nextEven;
}
count++;
}
// Print the output.
System.out.println(sum);
}
}
答案 1 :(得分:0)
如果您需要找到一个可被两个数字整除的数字,则需要找到这些数字的最高公因子(HCF-如果为2和3,则为6),并逐步检查每个数字是否可被整数整除。 HCF。
为进一步降低时间复杂度,一旦找到一个可被HCF整除的数字,我们就可以将该数字增加HCF(在这种情况下为6、12、18等),然后找到这些数字的总和。 / p>