Java基本数学问题

14 篇文章 0 订阅

目录

1.在三个数中挑最大值

2.判断12是奇数还是偶数,最后将该数字+1输出

3.while循环将整数1-10相加,并将结果输出

4.求1000以内的水仙花数

5.输入一个长整数,求其各位数字之和

6.将整数1-100相加,并将结果输出

7.求1+1/2+1/3+1/4+…+1/100的值

8.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

9.求Fibonacci数列的前10个数

10.找3-50之间的素数

11.输出10~20之间不能被3或5整除的数

12.动态创建二维数组


1.在三个数中挑最大值

import java.util.Scanner;
public class Main {               
	public static void main(String args[ ]) {
    int max;
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    int b = sc.nextInt();
    int c = sc.nextInt();
    max = a;
    if (b>max) 
        max=b;
    if (c>max) 
        max=c ;
    System.out.println(max); 
	}
}

2.判断12是奇数还是偶数,最后将该数字+1输出

public class Main {
	public static void main(String[] args) {
		int n = 12;
	    if(n % 2 != 0)
	    	System.out.println(n+" 是奇数");
	    else
	        System.out.println(n+ "是偶数");
	    System.out.println(++n);
	}
}

3.while循环将整数1-10相加,并将结果输出

public class Main { 
    public static void main(String args[]) {
          int x = 1;
          int sum = 0;
            while (x <= 10) {
                 sum = sum + x; 
                 x++;
            }
           System.out.println("sum = " + sum); 
     }
}

4.求1000以内的水仙花数

水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 3 次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153

public class Main {    
	  public static void main(String arge[]) {    
	        int i, j, k;                  
	        int n=100, m=1; 
	        while (n<1000) {
	           i = n/100;  
	           j = (n-i*100)/10;   
	           k = n%10; 
	       
	           if (Math.pow(i,3)+Math.pow(j,3)+Math.pow(k,3)==n)   
	        	   System.out.println("找到第 "+ m++ +" 个水仙花数:"+n); 
	           n++;     
	       }      
	  }  
}

5.输入一个长整数,求其各位数字之和

import java.util.Scanner;

public class Main{ 
    public static void main (String args[]) {   
    	Scanner sc = new Scanner(System.in);
    	long n = sc.nextLong();
        long m=0;
       
        long a=n;
        while(a>0) { 
            m += a%10;  
            a = a/10;
        }
        System.out.print(n+"的各位数字之和="+m);         
   }
}

6.将整数1-100相加,并将结果输出

public class Main {
	public static void main(String[] args) {
	       int x = 1;
	       int sum = 0;
	       do   {
	           sum = sum + x; 
	           x++;
		   }
           while(x<=100); 
	       System.out.println("sum = " + sum); 
	}
}

7.求1+1/2+1/3+1/4+…+1/100的值

public class Main {
	  public static void main(String args[]) {
	       double sum=1.0;
	       for (double k=2; k<=100; k++)
	            sum += 1/k;  
	       System.out.println(sum);
	   }
}

8.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

public class Main {
    public static void main(String[] args) {
        double sum1=0;
        for(double i=1;i<=99;i+=2){
            sum1+=(1/i);
        }
        double sum2=0;
        for(double j=2;j<=100;j+=2){
            sum2+=(1/j);
        }
        System.out.println(sum1-sum2);
    }
}

9.求Fibonacci数列的前10个数

public class Main{ 
	  public static void main(String[] args) {
	       int  n0=0, n1=1, n2; 
	       System.out.print(n0 + " " + n1 + " "); 
	       for(int i = 0; i < 8; i++) {
	            n2 = n1 + n0; 
	            System.out.print(n2 + " "); 
	            n0 = n1;
	            n1 = n2; 
	       }
	  }
}

10.找3-50之间的素数

public class Main{ 
    public static void main (String args[]) {   
    	int m=0;
    	for (int n=3;n<=50;n++) {                               
    		boolean f=true;
    		int k=2;  
    		while (f && k<=(n-1)) {     
            if (n%k==0) 
                 f=false; 
            k++;
    		}
    		if(f){
    			System.out.print("	"+n);
    			m++; 
    			if (m%5==0)
    				System.out.println();
    		}   
    	}
    }
}

11.输出10~20之间不能被3或5整除的数

public class Main {
    public static void main(String args[]) {
         int j=9;
         do { 
             j++;
             if(j%3==0||j%5==0) continue;
             System.out.print(j + " ");  
        } while(j<20); 
  }
}

12.动态创建二维数组

public class Main {
    public static void main(String[ ] args) {
	int[ ][ ] m = new int[4][ ];              
	for (int i = 0; i < m.length; i++) {
                 	    m[i] = new int[i + 1]; 
	    for (int j = 0; j < m[i].length; j++) {
	        m[i][j] = i + j;
	     }
	}
	
	for (int i = 0; i < m.length; i++) {
	      for (int j = 0; j < m[i].length; j++) 
	            System.out.print(m[i][j] + " ");
	            System.out.println();
	}
    }
}

总结

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于 java开发 的学习思路及方向。从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。

由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的 点击我的Gitee获取
还有 高级java全套视频教程 java进阶架构师 视频+资料+代码+面试题!

全方面的java进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值