OJ2011
import java.util.Scanner;
public class Main2011{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int number = 0;
double figure[] = new double[n];
for(int j = 0;j<=n-1;j++)
{
figure[j]= in.nextDouble();
}
double sum = 0;
for(int j = 0;j<=n-1;j++) {
for(int i = 1;i<=figure[j];i++) {
sum = sum+ 1/(i*Math.pow(-1, i-1));
if (i==figure[j])
{
System.out.println(String.format("%.2f", sum));
sum = 0;
}
}
}
}
}
}
新知识点:Math.pow(num,3) //对num求3次方
OJ2012
import java.util.Scanner;
public class Main2012{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int x = in.nextInt();
int y = in.nextInt();
int end = 0;
int difference = y-x;
if (x>=-39&&y>=x&&y<=50)
{
if (x==0&&y==0)
{
break;
}
lable:for(int i = x;i<=y;i++) {
end = i*i+i+41;
for(int j =2;j<end;j++) {
if (end%j==0) {
System.out.println("Sorry");
break lable;
}
}
if (i==y)
{
System.out.println("OK");
}
}
}
}
}
}
OJ2013
import java.util.Scanner;
public class Main2013{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int sum = 1;
if (n>1&&n<30)
{
for(int i = 1;i<=n-1;i++) {
sum = (sum +1)* 2 ;
}
System.out.println(sum);
}
}
}
}
这个蟠桃的问题真的是,很早就想到从最后一天往前推,但却在现乘以二还是先加一的问题上挣扎了很久(一直没想到要先加一再乘以二),做题思维要清晰。
OJ2014
import java.util.Scanner;
public class Main2014{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
double sum = 0;
double min = 101;
double max = -1;
double avrg = 0;
double number[] = new double[n];
for (int i = 0; i <= n-1; i++)
{
number[i] = in.nextDouble();
if (number[i]>max)
{
max = number[i];
}
if (number[i]<min)
{
min = number[i];
}
}
for(int j = 0;j<=n-1;j++) {
sum = sum+number[j];
}
avrg = (sum - max - min)/(n-2);
System.out.println(String.format("%.2f", avrg));
}
}
}
第一次输出老是数字很大,因为本来是并列的循环写成了嵌套循环
第二次输出输出零,因为第一个for循环少加了一个等号