地址: http://www.pythontip.com/acm/problemCategory#HDU
1005:
数字序列定义如下:
f(1)= 1,f(2)= 1,f(n)=(A * f(n - 1)+ B * f(n - 2))mod 7.
给定A,B和n,你要计算f(n)的值。
* Program Name:text1005.java <br/>
* @author calorie
public class text1005 {
public static void main(String[] args) {
f(1);
System.out.println(f(1));
}
public static int f(int n) {
int a = 1, b = 3;
if (n == 1 || n == 2)
{return 1;}
else{return (a * f(n - 1) + b * f(n - 2)) % 7;}
}
}
其中 a,b,n值可以自己赋值,略
问1008:
我们城市最高的建筑只有一部电梯。请求列表由N(小于100)个正数组成。数字表示电梯将以指定顺序停在哪些楼层。将电梯向上移动一层需要6秒钟,向下移动一层楼需要4秒钟。电梯将在每个站点停留5秒钟。对于给定的请求列表,您将计算在列表上完成请求所花费的总时间。电梯在开始时位于0楼,并且在满足要求时不必返回底层。
public class text1008 {
public static void main(String[] args) {
final int a =6;
final int b =4;
final int c =5;
System.out.println("请输入层数:");
Scanner input = new Scanner(System.in);
int now = input.nextInt();
int end = input.nextInt();
time(now,end);
}
public static void time(int now,int end) {
int sum = 0;
if(now>end) {
sum=(now-end)*4+5;
System.out.println(sum);
}
else if(now<end) {
sum=(end-now)*6+5;
System.out.println(sum);
}
else {
System.out.println(0);
}
}
}
问1013:
通过对整数的数字求和来找到正整数的数字根。如果结果值是单个数字,则该数字是数字根。如果结果值包含两个或更多个数字,则将这些数字相加并重复该过程。只要需要获得一位数,就会继续这样做。
例如,考虑正整数24.添加2和4产生值6.由于6是单个数字,6是24的数字根。现在考虑正整数39.添加3和9的产量12.由于12不是一个数字,因此必须重复该过程。添加1和2 yeilds 3,单个数字以及39的数字根
public class text1013 {
public static void main(String[] args) {
System.out.println("请输入数字:");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
back(num);
}
public static void back(int a) {
int sum = 0;
if (a < 10) {
System.out.println(a);
} else {
while (a != 0) {
sum = sum + a % 10;
a = a / 10;
}
System.out.println(sum);
if (sum > 10) {
back(sum);
}
}
}
}
网友评论