zoukankan      html  css  js  c++  java
  • Java习题

     设n为1~1500间的所有整数,按照如下要求计算和输出。
        1、判断并输出n中能被3和5和7同时整除的数的个数;
        2、判断并输出n中能被3或5或7整除的数的个数;
        3、判断并输出n中能被3或5或7整除的所有数的累加和;
        4、判断并输出n中能被3或5或7整除的前20个数的累加和;
        5、判断并输出n中能被3或5或7整除的前10个数的累乘积;

    package test10;
    public static void a1() { int number = 0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 && i % 5 == 0 && i % 7 == 0) { number++; }/*整除,取余为0,同时,与逻辑,求数量,设变量循环计数*/ } System.out.print("个数为"+number); } public static void a2(){ int number = 0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { number++; }/*整除,取余为0,或者,或逻辑*/ } System.out.print("个数为"+number); } public static void a3(){ int sum = 0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { sum+=i; }/*整除,取余为0,或者,或逻辑,求数量,设变量循环计数*/ } } public static void a4(){ int sum = 0; int number=0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { sum+=i; number++; }/*整除,取余为0,或者,或逻辑,求数量,设变量number循环计数,设变量sum求和*/ if(number==20){ break; }/*判断计数的数量为前20个*/ } System.out.print("累加和为"+sum); } public static void a5(){ long sum = 1; int number=0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { sum*=i; number++; }}/*整除,取余为0,或者,或逻辑,求数量,设变量number循环计数,设变量sum求乘积*/ if(number==10){ break; }/*判断计数的数量为前10个*/ } System.out.print("前10个数累乘为"+sum); }public static void main(String[] args) { a1(); System.out.println(); a2(); System.out.println(); a3(); System.out.println(); a4(); System.out.println(); a5(); System.out.println(); }/*每个方法封装,主方法只调用子方法*/ }

      

     结果如图所示

    求1-3+5-7+...-99+101的值

    package test11;
    public class Test11 {
    	public static void a1(){
    	int sum=0;/*求和变量初始值*/
            int j=-1;/*相加变量初始值*/
            int ret=1;
            for(int i=1;i<=101;i+=2){
                j=-j;            
    			ret=i*j; //解决某项的值
                sum+=ret;
            }
            System.out.println(sum);	
    	}
    	public static void main(String[] args) {
    		a1();
    	}
    }

    运行结果为51

    假设a、b、c是三角形的三条边,当三条边符合勾股定理时,即,a2+b2=c2 ,为直角三角形。若a、b、c均为小于等于50的整数,求能够组成直角三角形的所有组合。请显示边的各种可能组合情况,显示总的组合数量。注意:
        (a=3, b=4, c=5)
        (a=4, b=3, c=5)
        (a=5, b=4, c=3)
    等情况只能算1种组合。(参考答案:20种)

    package *;
    
    public class Test12 {
    
    	public static void main(String[] args) {
    		int a, b, c, number = 0;
    		for (a = 1; a <= 50; a++) {
    			for (b = 1; b <= 50; b++) {
    				for (c = 1; c <= 50; c++) {
    					if (a * a + b * b == c * c && a > b) {
    						System.out.println("a=" + a + " " + "b=" + b + " " + "c=" + c + " ");
    						number++;/*统计数量*/
    
    					}/*for循环三重,遍历数据*/
    
    				}
    
    			}
    
    		}
    		System.out.println("组合数量" + number);
    	}
    }
    

      结果:

    编写程序,输出如下图形所示高度为n的图形。当n=6时:
     1   2   3    4   5   6
     7   8   9   10  11  12
     13  14  15  16  17  18
     19  20  21  22  23  24
     25  26  27  28  29  30
     31  32  33  34  35  36

    package *;
    
    public class Test13 {
    
    	public static void leisishuzu(int n) {
    		for (int i = 1; i <= n; i++) {
    			for (int j = 1; j <= n; j++) {
    				System.out.print((i - 1) * 6 + j + " ");
    			}
    			System.out.println();
    		}
    
    		System.out.println();
    
    	}/*类似遍历二维数组*/
    
    	public static void main(String[] args) {
    
    		leisishuzu(6);
    
    	}
    }
    

      结果:

    计算π的近似值。公式如下:

    直到累加项的绝对值小于10-4为止(即求和的各项的绝对值均大于等于10-4)。

    package *;
    
    public class Test14 {
    	public static void main(String[] args) {
    		double ret = 1;
    		int n = 1;
    		double sum = 0;
    		int sign = -1;
    		while (Math.abs(ret) > 1E-4) {
    			sign = -sign;
    			ret = 1 / (sign * n * (1.0));
    			sum += ret;
    			n += 2;
    			System.out.println(Math.abs(ret));
    		}
    		System.out.println("值为" + sum * 4);
    	}
    }
    

      结果:

    编制程序要求输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。

    package *;
    
    public class Test15 {
    	public static void main(String[] args) {
    		int a, b;
    		a = 3;
    		b = 8;
    		if ((a * a + b * b) > 100) {
    			System.out.println("百位以上数字" + (a * a + b * b) / 100);
    
    		} else {
    			System.out.println("两数之和" + (a + b));
    		}
    	}
    }
    

      结果:e两数之和为11(列子)

    oraclepeixun
  • 相关阅读:
    概率dp呜呜
    树上路径问题---点分治题集
    POJ 1741 Tree
    接下来的计划
    很逗 的网络赛历程
    Codeforces Round #264 (Div. 2) D
    似乎了解了树形dp/
    先胡乱搭一个blog
    POJ 1330 (LCA)
    文件操作
  • 原文地址:https://www.cnblogs.com/dldrjyy13102/p/7451589.html
Copyright © 2011-2022 走看看