第六天(昨天剩下的练习题)

刚刚收到消息 今天可以先把题总结了

吼吼吼

等明天函数都讲完了在总结函数的笔记


什么是素数 就是除了1和其本身之外 没有其他的数字可以整除的
num
2 ~ m ~ num-1 找到一个数字 如果这个数字m num%m==0 num不是素数
如果一个都没有找到的话 这个数字是素数

 


class Demo03_17{
    public static void main(String[] args){
        int count=0;  //当前素数的个数
        boolean flag=true;
        for(int num=2;num<=1000;num++){
            for(int m=2;m<=num-1;m++){
                if(num%m==0){
                    flag=false;
                    break;
                }
            }
            if(flag){
                count++;
                System.out.print(num+" ");
                if(count%8==0){ //8 16 24 32
                    System.out.println();
                }
            }
            flag=true;
        }
    }
}

 

有一说一这个题是真的恶心

算了好几遍都是输出的100

真的是,最后按照自己的想法又走了一遍,还是找不到错误,自己的思路是对了

import java.util.Scanner;
class Demo03_18{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个数字:");
        int imax=scanner.nextInt();
        double sum=0;
        double flag=1;
        for(int i=1;i<=imax;i++){
            //sum+=Math.pow(-1.0,i+1);/(2*i-1);
            sum+=flag/(2*i-1);
            flag=-flag;
        }
        double pi=sum*4;
        System.out.println(pi);
        // 累乘 Math.pow(-1.0,i+1) for -1*-1*-1....
    }
}

 

 

import java.util.Scanner;
class Demo03_19{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个数字:");
        int imax=scanner.nextInt();
        double e=1;
        double item=1.0;
        for(int i=1;i<=imax;i++){
            item=item*i;    //n!=(n-1)*n;
            e+=1/item;
        }
        System.out.println(e);
    }
}

 

 

 

class Demo03_20{
    public static void main(String[] args){
        int count=0;
        for(int i=101;i<=2100;i++){
            if(i%4==0&&i%100!=0 || i%400==0){
                count++;
                System.out.print(i+" ");
                if(count%10==0){
                    System.out.println();
                }
            }
        }
        System.out.println("\n闰年一共"+count+"个");
    }
}

class Demo03_21{
    public static void main(String[] args){
        //6 : 1 2 3 4 5 6
        //28: 1 2 4 7 14 
        //n : 1 ~ n/2
        int sum=0;
        for(int n=2;n<=10000;n++){   
            for(int i=1;i<=n/2;i++){
                if(n%i==0){
                    sum+=i;
                }
            }
            if(n==sum){
                System.out.println("完全数"+n);
            }
            sum=0;
        }
    }
}

 

 

import java.util.*;
class Demo03_22{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        Random random=new Random();
        int usrWin=0;
        int comWin=0;
        while(true){
            System.out.print("请输入剪刀0 石头1布2:");
            int usr=scanner.nextInt();
            int com=random.nextInt(3);
            String usrStr = "";
            String comStr = "";
            switch(usr){
                case 0:
                    usrStr = "scissor"; 
                    break;
                case 1:
                    usrStr = "rock";
                    break;
                case 2:
                    usrStr = "paper";
                    break;
            }
            switch(com){
                case 0: 
                    comStr = "scissor"; 
                    break;
                case 1:
                    comStr = "rock";
                    break;
                case 2:
                    comStr = "paper";
                    break;
            }
            if(usr==com){
                System.out.printf("The computer is %s.you are %s too.It is a draw\n",comStr,usrStr);
            }else if(usr==0&&com==2 || usr==1&&com==0 || usr==2&&com==1){
                System.out.printf("The computer is %s.you are %s.You won\n",comStr,usrStr);
                usrWin++;
            }else{
                System.out.printf("The computer is %s.you are %s.You lost\n",comStr,usrStr);
                comWin++;
            }
            if(usrWin==2||comWin==2){
                break;
            }
        }
        if(usrWin==2){
            System.out.println("最终玩家赢!");
        }else{
            System.out.println("最终电脑赢!");
        }
    }
}

 

 

所谓二进制就是把这个数一直除二最后把余数从后往前一排就好了


import java.util.Scanner;
class Demo03_23{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个数字:");
        int num=scanner.nextInt();
        String binStr="";
        while(true){
            binStr=num%2+binStr;//"1100"
            num/=2;
            if(num==0){
                break;
            }
        }
        System.out.println(binStr);
    }
}

 

import java.util.Scanner;
class Demo03_24{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int num=0;
        int max=0;
        int count=0;
        System.out.print("请输入数字:");
        while(true){
            num=scanner.nextInt();
            if(num==0){
                break;
            }else if(num>max){
                max=num;
                count=1;
            }else if(num==max){
                count++;
            }
        }
        System.out.println("max="+max+",count="+count);
    }
}

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值