问题
This my code i don't know what to do next I'm totally beginner
int number = lb;
while(number <= ub){
if (number % 7 == 0 && number % 15 == 0 && number % 17 == 0 && number % 30 != 0 ){
sum+= number;
}
number++;
}
System.out.println("Answer: " + sum);
}
}
回答1:
You have to do something like this
int sum=0;
for(int i=0;i<1000;i++){ // iterate from 0 to 1000
if ((i % 13 == 0 || i % 15 == 0 || i % 17 == 0) &&i % 30 != 0 ){
// take numbers divide by 13 or 15 or 17 which not divide by 30
sum=sum+i; // adding that number to current sum
}
}
System.out.println("Answer: " + sum); // final sum
Out put:
Answer: 76795
回答2:
do it in one line using the latest release, Java 8:
package com.example;
import static java.util.stream.IntStream.rangeClosed;
import static java.lang.System.out;
public class Main {
public static void main(String[] args) {
out.println(rangeClosed(1, 1000)
.filter(n -> n % 13 == 0 || n % 15 == 0 || n % 17 == 0)
.filter(n -> n % 30 != 0)
.sum());
}
}
回答3:
If I understand your question, it should be as simple as
int sum = 0;
// from 1 to 1000
for (int num = 1; num <= 1000; num++) {
if (num % 30 == 0) {
continue; // If it's divisible by 30, skip it.
}
if (num % 13 == 0 || num % 15 == 0 || num % 17 == 0) {
sum += num; // If it's divisible by 13 or 15 or 17 add it to sum.
}
}
System.out.printf("sum = %d%n", sum);
Output is
sum = 76795
回答4:
int number = 0b1; //the proper way to start a binary number
int sum = 0;
while(number <= 1000){
if ((number % 13 == 0 || number % 15 == 0 || number % 17 == 0) && number % 30 != 0 ) {
sum+= number;
}
number++;
}
System.out.println("Answer: " + sum);
In the question you said numbers that are divisible by 13 or 15 or 17 and not by 30, so apply that same logic to the if statement. That would give you the right result.
Answer: 76795
来源:https://stackoverflow.com/questions/25112365/write-a-program-to-sum-all-the-integers-between-1-and-1000-that-are-divisible-b