评论

收藏

[R语言] JAVA入门 2

编程语言 编程语言 发布于:2021-07-31 16:20 | 阅读数:240 | 评论:0

整除
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description
求1到n范围内能被 5 或 6 或 8 整除的数的个数。
Input
多组数据,处理到文件结尾。
每行输入一个n;
Output
输出结果,每个结果占一行。
Sample Input
1000
Sample Output
400
Hint
1到n被6整除数的个数为n/6(取整)。
import java.util.Scanner;
public class Main
{
  public static void main(String[] args) 
  {
     Scanner reader = new Scanner(System.in);
     while(reader.hasNext())
     {
       int n=reader.nextInt();
       System.out.println(n/5+n/6+n/8-n/30-n/24-n/40+n/120); 
     }
  }
}
洗衣服
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description
X是一个勤劳的小孩,总是会帮助大人做家务。现在他想知道对于一根长为L的绳子能晾开多少件宽为W的衣服,显然这些衣服不能相互叠压。
Input
多组输入。
每组输入两个整数L,W。
Output
输出答案。
Sample Input
10 5
10 4
Sample Output
2
2
import java.util.Scanner;
public class Main
{
  public static void main(String[] args) 
  {
     Scanner reader = new Scanner(System.in);
     while(reader.hasNext())
     {
       int L=reader.nextInt();
       int W=reader.nextInt();
       System.out.println(L/W); 
     }
  }
}
分段函数求值
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description
有如下分段函数
F(x) = x^2 + 1 当x> 0时;
F(x) = -x 当x<0时;
F(x) = 100.0 当x=0时;
编程根据输入的不同x(x为实数),输出其对应的函数值
Input
多组输入,每组一个实数x。处理到文件结束。
Output
对于每组输入x,输出其对应的F(x),每组一行,结果保留1位小数。
Sample Input
8.00
-5.0
Sample Output
65.0
5.0
import java.util.Scanner;
public class Main
{
  public static void main(String[] args) 
  {
     Scanner reader = new Scanner(System.in);
     while(reader.hasNext())
     {
       double x=reader.nextDouble();
       if(x>0)
       System.out.printf("%.1f\n",x*x+1);
       else if(x<0)
       {
         System.out.printf("%.1f\n",-x); 
       }
       else 
       {
         System.out.println("100.0"); 
       }
     }
  }
}
计算球体积
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description
根据输入的半径值,计算球的体积。
Input
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input
1
1.5
Sample Output
4.189
14.137
Hint
define PI 3.1415927
Source
import java.util.*;
public class Main
{
  public static void main(String []args)
  {
     Scanner cin=new Scanner(System.in);
     while(cin.hasNext())
     {
       double r=cin.nextDouble();
       double p=3.1415927;
       double s=4*r*r*r*p/3;
       System.out.format("%.3f",s).println();
     }
  }
}
优越数
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description
给定3个数,如果有两个数大于他们的平均数则称这组数为优越数。(定义纯属虚构)
Input
输入第一行是一个整数: 表示测试数据的组数。
对于每组测试数据,仅一行3个整数。
Output
对于每组输入数据输出一行,判断它是否为一组优越数,如果是输出“Yes”(输出不包括引号),否则输出“No”。
Sample Input
2
1 2 3
1 4 4
Sample Output
No
Yes
import java.util.Scanner;
public class Main
{
  public static void main(String[] args) 
  {
     Scanner reader = new Scanner(System.in);
     int n=reader.nextInt();
     for(int i=1;i<=n;i++)
     {
       int a=reader.nextInt();
       int b=reader.nextInt();
       int c=reader.nextInt();
       double ave=(a+b+c)/3.0;
       if((a>ave&&b>ave)||(a>ave&&c>ave)||(b>ave&&c>ave))
         System.out.println("Yes");
       else
         System.out.println("No"); 
     }

  }
}
蝴蝶效应
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description
蝴蝶效应是气象学家洛伦兹1963年提出来的。其大意为:一只南美洲亚马孙河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可能在两周后引起美国德克萨斯引起一场龙卷风。其原因在于:蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其他系统产生相应的变化,由此引起连锁反应,最终导致其他系统的极大变化。此效应说明,事物发展的结果,对初始条件具有极为敏感的依赖性,初始条件的极小偏差,将会引起结果的极大差异。
我们将问题简化为方程 f(x) = (a*f(max(0,x-b)) + c*f(max(0,x-d)))%1000000007。
现在给出不同的f(0)和n以及参数a,b,c,d,计算出f(n)。
Input
多组输入。
对于每组数据,有六个个整数n,f0(1 <= n <= 10000,1 <= f0 <= 10000),a,b,c,d(1 <= a,b,c,d <= 10000)。
Output
对于每组数据输出f(n)。
Sample Input
1 2 3 4 5 6
Sample Output
16
import java.util.Scanner;
public class Main {  
  static long f[] = new long[10010];   
  final static long mod = 1000000007;  
  public static void main(String[] args) {  
    Scanner cin = new Scanner(System.in);  
    int n, i, a, b, c, d;  
    while (cin.hasNext()) {  
      n = cin.nextInt();  
      f[0] = cin.nextInt();  
      a = cin.nextInt();  
      b = cin.nextInt();  
      c = cin.nextInt();  
      d = cin.nextInt();  
      for (i = 1; i <= n; i++) {   
        f[i] = (a*f[Math.max(0, i-b)] + c*f[Math.max(0, i-d)])%mod;  
      }  
      System.out.println(f[n]);  
    }  
  }  
}

关注下面的标签,发现更多相似文章