精华内容
下载资源
问答
  • java生理周期
    2018-04-14 13:48:04

    生理周期java实现

    import java.util.Scanner;
    //生理周期
    public class S2 {
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int p,e,i,d;
    		int ncase=0;
    		while(sc.hasNext()) {
    			p=sc.nextInt();
    			e=sc.nextInt();
    			i=sc.nextInt();
    			d=sc.nextInt();
    			ncase++;
    			int k;
    			for(k=d+1;(k-p)%23!=0;++k);
    			for(;(k-e)%28!=0;k+=23);
    			for(;(k-i)%33!=0;k+=23*28);
    			int m=k-d;
    			System.out.println("第"+ncase+"个实例:"+m);
    		}
    	}
    
    }
    

    更多相关内容
  • //生理周期 p e i public class class1 { public static void main(String[]args) { int p,e,i,d; Scanner s = new Scanner(System.in); System.out.println("请分别输入四个整数p,e,i,d(0*):"); p = s....



    一、题目介绍

    人有体力、情商、智商的高峰日子,它们分别每隔23天、28天和33天出现一次。 对于每个人,我们想知道何时三个高峰落在同一天。给定三个高峰出现的日子p,e 和 i(不一定是第一次高峰出现的日子),再给定另一个指的日子d,你的任务是输出日子 d 之后 ,下一次三个高峰落在同天的日子(用距离 d 的天数表示 )。例如:给定日子为10,下次出现三个高峰同一天的日子是12,则输出2。
    输入
    输入四个整数:p,e,i和d。p,e,i分别表示体力 、情感和智力高峰出现的日子 。d是给定的日子,可能小于p,e或i。所有给定日子是非负的并且小于或等365,所求的日子小于或等21252。
    输出
    从给定日子起,下一次三个高峰同一天的日子(距离给定日子的天数)。
    输入样例
    0 0 0 0
    0 0 0 100
    5 20 34 325
    4 5 6 7
    283 102 23 320
    203 301 203 40
    -1 -1 -1 -1
    输出样例
    Case 1: the next triple peak occurs in 21252 days.
    Case 2: the next triple peak occurs in 21152 days.
    Case 3: the next triple peak occurs in 19575 days.
    Case 4: the next triple peak occurs in 16994 days.
    Case 5: the next triple peak occurs in 8910 days.
    Case 6: the next triple peak occurs in 10789 days.

    二、题目思路

    根据枚举思路,最简方法是从所输入天数f,第f+1天开始,一个一个试到21252天,对于每一天day满足:

    (day-p)%23 ==0 && (day-e)%28 ==0 && (day-i)%33 ==0

    但是这样的话虽然简单但是很麻烦,不妨这样想,先找到一个体力值高峰p之后(一天天试day++),然后在此情况下每隔23天找情商高峰e(day+=23),之后找智商高峰期(day=23*28),写三个没有循环体的循环for(;条件;条件;);不满足时自动结束循环。

    代码

    代码如下:

    import java.util.Scanner;
    //生理周期 p e i
    public class class1 {
    	public static void main(String[]args) {
    		int p,e,i,d;
    		Scanner s = new Scanner(System.in);
    		System.out.println("请分别输入四个整数p,e,i,d(0<=*<=365):");
    		p = s.nextInt();
    		e = s.nextInt();
    		i = s.nextInt();
    		d = s.nextInt();
    		int day = d+1;
    		for(;(day-p)%23!=0;day++);
    		for(;(day-e)%28!= 0;day+=23);
    		for(;(day-i)%33!= 0;day+=23*28);
    		int find = day-d;
    		System.out.println("下一个高峰期是在"+find+"天后");
    		}
    }
    

    总结

    学习用枚举思路来简单化题目,善学善思。

    展开全文
  • Java POJ 生理周期

    2022-03-26 20:48:17
    public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int count =0; int j,k; while(true) { int p=sc.nextInt(); int e=sc.nextInt();... int i=s...

    public class Main{
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
        
            int count =0;
            int j,k;
            while(true) {
                int p=sc.nextInt();
                int e=sc.nextInt();
                int i=sc.nextInt();
                int d=sc.nextInt();
                    if(p!=-1) {
                        count++;
                        for(j=d+1;j<21252;j++)
                            if((j-p)%23==0)break;
                        for(;j<21252;j=j+23)
                            if((j-e)%28==0)break;
                        for(;j<21252;j=j+23*28)
                            if((j-i)%33==0)break;
                        System.out.printf("Case %d: the next triple peak occurs in %d days. \n",count,j-d);
                        
                    }
                    else
                        break;
            }
        }
    }

    展开全文
  • 今天解决了生理周期的计算问题,赶脚自己真心特别

           今天解决了生理周期的计算问题,赶脚自己真心特别粗心,for循环里面最开始居然写错了字母,然后好久都改不出bug,因为l成了i,很像有木有!好吧,这不能作为自己粗心的一万个理由,嘿嘿,话不多说,等下还要看步步高电商的哥哥姐姐过来分享招人嘞,我先把题目奉上:

    问题描述

           人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28 天和33 天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。

            对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出现的时间)。你的任务是给定一个从当年第一天开始数的天数,输出从给定时间开始(不包括给定时间)下一次三个高峰落在同一天的时间(距给定时间的天数)。例如:给定时间为10,下次出现三个高峰同天的时间是12,则输出2(注意这里不是3)。

    输入数据

    输入四个整数:p,e, i 和d。 p, e, i 分别表示体力、情感和智力高峰出现的时间(时间从当年的第一天开始计算)。d是给定的时间,可能小于p,e, 或i。 所有给定时间是非负的并且小于365, 所求的时间小于等于21252。

    输出要求

    从给定时间起,下一次三个高峰同天的时间(距离给定时间的天数)。

    输入样例

    0 0 0 0

    0 0 0 100

    5 20 34 325

    4 5 6 7

    283 102 23 320

    203 301 203 40

    -1 -1 -1 -1

    输出样例

    Case 1: the next triple peak occursin 21252 days.

    Case 2: the next triple peak occursin 21152 days.

    Case 3: the next triple peak occursin 19575 days.

    Case 4: the next triple peak occursin 16994 days.

    Case 5: the next triple peak occursin 8910 days.

    Case 6: the next triple peak occursin 10789 days.

     

     

    然后,我的代码运行之后的结果是这样滴,看下有木有比昨天的界面会好看一些……

     

     

    然后以下就是俺今天上午敲的代码:

    import java.awt.Color;
    import java.awt.Font;
    
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    public class PeakP extends JFrame{
    	MyListener l;
    	public static void main(String[] args) {
    		PeakP pp=new PeakP();
    		pp.GUI();
    		
    	}
    	public void GUI(){
    		this.setTitle("生  理  周  期");
    		this.setSize(700, 550);
    		this.setLocation(300, 50);
    		this.setDefaultCloseOperation(3);
    		this.setLayout(null);
    		JPanel jp1=new JPanel();
    		jp1.setBounds(0, 0, 200, 600);
    		jp1.setBackground(Color.white);
    		
    		ImageIcon im3=new ImageIcon(this.getClass().getResource("3.jpg"));
    		this.setIconImage(im3.getImage());
    		
    		ImageIcon im2=new ImageIcon(this.getClass().getResource("2.PNG"));
    		JLabel jl2 =new JLabel(im2);
    		jl2.setBounds(0, 20, im2.getIconWidth(), im2.getIconHeight());
    		jp1.add(jl2);
    		
    		JPanel jp2=new JPanel();
    		jp2.setBounds(200,0,500,600);
    		jp2.setLayout(null);
    		
    		ImageIcon im1=new ImageIcon(this.getClass().getResource("1.PNG"));
    		JLabel jl1 =new JLabel(im1);
    		jl1.setBounds(0, 5, im1.getIconWidth(), im1.getIconHeight());
    		jp2.add(jl1);
    		
    		JLabel jl3=new JLabel("请输入体力高峰的时间:");
    		jl3.setFont(new Font("楷体", 3, 18));
    		jl3.setBounds(10, 190, 230, 30);
    		JLabel jl4=new JLabel("请输入情感高峰的时间:");
    		jl4.setFont(new Font("楷体", 3, 18));
    		jl4.setBounds(10, 240, 230, 30);
    		JLabel jl5=new JLabel("请输入智商高峰的时间:");
    		jl5.setFont(new Font("楷体", 3, 18));
    		jl5.setBounds(10, 290, 230, 30);
    		JLabel jl6=new JLabel("请输入你想给定的时间:");
    		jl6.setFont(new Font("楷体", 3, 18));
    		jl6.setBounds(10, 340, 230, 30);
    		
    		
    		JTextField jt1=new JTextField();
    		jt1.setFont(new Font("楷体", 2, 18));
    		jt1.setBounds(225, 190, 200, 30);
    		jt1.setHorizontalAlignment((int) CENTER_ALIGNMENT);
    		
    		JTextField jt2=new JTextField();
    		jt2.setFont(new Font("楷体", 2, 18));
    		jt2.setBounds(225, 240, 200, 30);
    		jt2.setHorizontalAlignment((int) CENTER_ALIGNMENT);
    		
    		JTextField jt3=new JTextField();
    		jt3.setFont(new Font("楷体", 2, 18));
    		jt3.setBounds(225, 290, 200, 30);
    		jt3.setHorizontalAlignment((int) CENTER_ALIGNMENT);
    		
    		JTextField jt4=new JTextField();
    		jt4.setFont(new Font("楷体", 2, 18));
    		jt4.setBounds(225, 340, 200, 30);
    		jt4.setHorizontalAlignment((int) CENTER_ALIGNMENT);
    		
    		
    		JLabel jl7=new JLabel("结果:");
    		jl7.setBounds(10, 395,70, 20);
    		jl7.setFont(new Font("楷体", 3, 20));
    		
    		JLabel jl8=new JLabel("");
    		jl8.setBounds(80, 395,350, 20);
    		jl8.setFont(new Font("楷体", 2, 16));
    		
    		JButton jb1=new JButton("开始查询");
    		jb1.setBounds(60, 440, 120, 40);
    		jb1.setFont(new Font("楷体", 1, 16));
    		
    		JButton jb2=new JButton("重新查询");
    		jb2.setBounds(250, 440, 120, 40);
    		jb2.setFont(new Font("楷体", 1, 16));
    		
    		jp2.add(jl3);
    		jp2.add(jl4);
    		jp2.add(jl5);
    		jp2.add(jl6);
    		jp2.add(jl7);
    		jp2.add(jl8);
    		
    		jp2.add(jb1);
    		jp2.add(jb2);
    		
    		jp2.add(jt1);
    		jp2.add(jt2);
    		jp2.add(jt3);
    		jp2.add(jt4);
    		
    		this.add(jp1);
    		this.add(jp2);
    		l=new MyListener(jt1,jt2,jt3,jt4,jl8,jb1,jb2);
    		jb1.addActionListener(l);
    		jb2.addActionListener(l);
    		
    		this.setVisible(true);
    	}
    
    }
    


     


      

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    
    public class MyListener implements ActionListener{
    	
    	JTextField jt[];
    	JButton jb1,jb2;
    	JLabel jl8;
    	int p[];
    	public MyListener(JTextField jt1,JTextField jt2,JTextField jt3,JTextField jt4,JLabel jl8,JButton jb1,JButton jb2){
    		jt=new JTextField[]{jt1,jt2,jt3,jt4};
    		this.jl8=jl8;
    		this.jb1=jb1;
    		this.jb2=jb2;
    	}
    
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		int p[]=new int[]{0,0,0,0};
    		if(("开始查询").equals(e.getActionCommand())){
    			for(int i=0;i<4;i++){
    			 p[i]=Integer.parseInt(jt[i].getText());
    			}
    			draw(p[0],p[1],p[2],p[3]);
    		}
    		if(("重新查询").equals(e.getActionCommand())){
    			for(int i=0;i<4;i++){
    				jt[i].setText("");
    				jl8.setText("");
    			}
    		}
    	}
    	public void draw(int p,int e,int i,int d){
    		int s=0;
    	      for(int l=1;l<=22000;l++){
    	             
    	            if((l-p)%23==0&&(l-e)%28==0&&(l-i)%33==0){
    	                 s=l-d;
    	                 
    	                 break;
    	            }
    	      }
    	      jl8.setText("the next triple peak occurs in "+s+" day.");
    	}
    }


           好啦,最近虽然没有上什么新内容,但是在做学校要求的习题的时候,感觉态度上改变了很多,很开心自己能轻松高兴地面对这些,而不是像以前一样皱着眉头抄着伙伴的代码……

            还有就是总结下自己今天犯的坑爹错,下次设变量的时候尽量不设长得像的字母,吃一堑长一智吧……

     

            总之,有进步就是好事哈……么么哒!

    展开全文
  • 生理周期

    2018-10-11 22:21:50
    人品爆发,情商体力智商三高峰同时出现! 体力,情商,智商三个高峰出现的日子分别为p,e,i,给定一个指定的日子d,任务是输出d之后,下一次三高峰出现在同一天的日子(用距离d的天数表示)。 用枚举,当然也不可以傻...
  • Java实现 蓝桥杯 算法提高 周期字串

    千次阅读 2019-06-13 12:39:00
    算法提高 周期字串 时间限制:1.0s 内存限制:256.0MB 问题描述  右右喜欢听故事,但是右右的妈妈总是讲一些...
  • 枚举——生理周期

    2020-03-15 17:22:13
    人生来就有三个生理周期,分别为体力周期、感情周期和智力周期,它们的周期长度分别为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,在智力周期的高峰,人会思维敏捷,...
  • 生理周期(枚举基础题)

    千次阅读 2018-12-23 22:30:54
     人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天,28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度...
  • 生理周期 poj

    2017-03-26 12:31:51
    此题为枚举,但是技巧在于用一些初等数论的知识节省枚举的...注意:由于找的是下一次生理周期,所以第一次枚举的i必须从23开始,不能为零。#include #include #include #include #include #include #include #i
  • 生理周期计算

    2020-08-12 08:19:42
    生理周期计算
  • 问题描述:人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力...
  • poj 4148:生理周期

    2018-02-18 11:10:02
    人生来就有三个生理周期,分别为体力周期、感情周期和智力周期,它们的周期长度分别为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,在智力周期的高峰,人会思维敏捷...
  • 2997:生理周期 算法

    2020-07-08 23:42:58
    样例输入 0 0 0 0 0 0 0 100 5 20 34 325 4 5 6 7 283 102 23 320 203 301 203 40 -1 -1 -1 -1 //-1 为输入结束 ...Case 1: the next triple peak occurs in 21252 days. Case 2: the next triple peak occurs in ...
  • POJ 1006 生理周期

    2018-03-15 20:50:37
    生理周期 问题描述: 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会...
  • 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度...
  • public static void main(String[] args) throws Exception { Scanner scanner=new Scanner(System.in); int p=scanner.nextInt(); int e=scanner.nextInt(); int i=scanner.nextInt();...
  • 【蓝桥杯day3】

    2022-02-27 21:22:36
    b 算法思路:没什么思路解题就行 题目二:生理周期 题目描述: 解题代码: import java.util.Scanner; public class 生理周期 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in...
  • 百练OJ:4148:生理周期

    千次阅读 2017-05-01 00:12:36
    百炼OJ:4148:生理周期
  • 简单枚举 找生理周期

    2020-02-18 11:03:43
    简单枚举 找生理周期 身体 iq eq的周期分别为23天 25天 28天找下次同时出现的一天 package 生理周期; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner sc=new ...
  • 如题 哪位大神有啊
  • 题目:POJ1006 生理周期       代码: 1 import java.util.ArrayList; 2 import java.util.List; 3 import java.util.Scanner; 4 5 public class POJ1006 { 6 7 ...
  • 算法-生理周期(枚举)

    千次阅读 2018-01-23 21:01:42
    人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天,28天和33天。每一个周 期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精 力容易...
  • 3.2 生理周期 Note:读题懵,看了书上的解题方法更懵。 能用简单枚举或跳步枚举是因为,周期长度为23 28 33三数最小公倍数为三数相乘。相当于是一个极为特殊的数,但一般情况下并不能用这样的方法。 经查阅 该类...
  • A能力每隔23天达到高峰,B能力每隔28天达到高峰,C能力每隔33天达到高峰, 输入a为A能力指定一次达到高峰的...import java.util.Scanner; public class CircleOfLife { public static void main(String[] args) {
  • 较完整的 bean生命周期

    千次阅读 2021-03-11 14:47:02
    首先需要说明的是,Bean的生命周期主要指的是singleton bean,标签的scope默认就是singleton。对prototype bean来说,当用户getBean获得prototype bean的实例后,IOC容器就不再对当前实例进行管理,而是把管理权交由...
  • 参考: 1.http://blog.csdn.net/shanshanpt/article/details/8724769 2....人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 646
精华内容 258
热门标签
关键字:

java生理周期