java编程。 求1-100以内的自然数之和,要求这些自然数不包含6和7以及其倍数,而且最后值不超

java编程。
求1-100以内的自然数之和,要求这些自然数不包含6和7以及其倍数,而且最后值不超过2000。一旦超过结束求和并输出当前结果。

第1个回答  2015-11-03

public class NaturalNumber {


public static void main(String[] args) {
int sum = 0;
String str = "";
for(int i=1; i<=100;i++){
if(i%6 > 0 && i%7 > 0 && String.valueOf(i).indexOf("6") < 0 && String.valueOf(i).indexOf("7") < 0){
if(sum + i > 2000){
break;
}
sum += i;
str += i + "+";
}
}

str = str.substring(0, str.length() -1);
System.out.println(sum);
System.out.println(str + "=" + sum);

}

}

1979

1+2+3+4+5+8+9+10+11+13+15+19+20+22+23+25+29+31+32+33+34+38+39+40+41+43+44+45+50+51+52+53+55+58+59+80+81+82+83+85+88+89+92+93+94+95=1979

第2个回答  推荐于2017-09-22
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i < 100; i++){
if(i%6==0||i%7==0) continue;
if(sum + i > 2000) break;
sum += i;
}
System.out.println(sum);
}本回答被网友采纳
第3个回答  2015-11-03
int sum=0;
for(int i=0;i<=100;i++){
    if(i%6!=0&&i%7!=0)sum+=i;
    if(sum>2000){
     System.out.println(sum);
     break;
    }
}

第4个回答  2015-11-03
public static void main(String[] args) {
int total = 0;
for(int i=1;i<101;i++){
if(i%6==0 || i%7==0){
continue;
}
total += i;
if(total>2000){
total -= i;
break;
}
}
System.out.println(total);
}