整除
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]);  
        }  
    }  
}