计算出1到1000以内所有不能被7整除的整数之和

时间:2024-05-23 22:51:26

/*
    习题1:计算出1到1000以内所有不能被7整除的整数之和
            计划:
                第一步:算出1000以内能被7整除的数字有多少个。
                            1000 / 7 =142.8个 ,所以是142个。并且算出他们的和
                第二步:在算出1000个整数相加的和
                第三步:用1000个整数和减去能被7整除的整数和
                第四步:得到结果
*/

public class Test{

    public static void main(String[] args){

        int jieguo1 = 0;//设置结果1为0

    int i = 7;   //先设置一个int类型为7 的数值(用来计算能被7整除的整数和)

    for (int k = 1;k <= 142 ;k++ ){//已知总共有142个能被7整除的数字,所以总共循环142遍

        int qihe = i*k;                //k从1开始到142 每个数字*i的和

        jieguo1 += qihe;                //把他们的和,赋值给结果1

   }

    System.out.println("1~1000内能被7整除的整数和为:"+jieguo1);//结果1

    int jieguo2 = 0;

    for (int j = 1;j<=1000 ;j++ ){ //计算1~1000的整数和

        jieguo2 += j;                    //赋值给结果2

    }

    System.out.println("1~1000的整数和为:" + jieguo2);//结果2

    System.out.println("1000以内除了被7整除的整数和为:"+(jieguo2 - jieguo1));//用结果2减去结果1

    //以上为自己的第一次的思路

    System.out.println("-----------------------------------------------------");

    //一下是为第二次的思路

    int m = 0;

    for (int n = 1;n<=1000 ;n++ ){

      if (n % 7 =0){//如果当n能被7整除时,下一步就是跳过这个跟数字 

            continue;
 Test.java:30: 错误: 意外的类型
                if (n % 7 =0){//如果当n能被7整除时,下一步就是跳过这个跟数字
                      ^
            需要: 变量
            找到:    值
            1 个错误
            结果错误,发现if语句后面应该跟的是布尔表达式

    
        if ((n % 7) != 0){  //如果循环到某个n可以不被7整除时
            m += n;                // 就把每个n的结果赋值给m
        }
        
    }
    System.out.println("1~1000以内不能被7整除的整数和为:" + m);

    System.out.println("-------------一上为自己的思路------------------------");
    System.out.println("-------------一下为老师的思路------------------------");

    int b = 0;
    for (int a=1;a<=1000 ;a++ ){
        if (a % 7 == 0 ){
            continue;
      }
    b += a;    
    }
    System.out.println("1~1000以内不能被7整除的整数和为:"+ b);
 

    }
}

 

运行结果为:

计算出1到1000以内所有不能被7整除的整数之和