2021-2-5蓝桥杯java-算法训练
一、猴子吃包子
“/”是整除,只能得到小数点前面的位置,为了得到小数在前面乘上1.0
当要保留的位数是输入的时,"%."+wei+“f”
import java.util.Scanner;
public class Baozi {public static void main(String[] args) {// TODO Auto-generated method stubScanner s=new Scanner(System.in);int x=s.nextInt();int y=s.nextInt();int z=s.nextInt();long x1=s.nextLong();long y1=s.nextLong();long z1=s.nextLong();int wei=s.nextInt();double x2=1.0*x1/x;double y2=1.0*y1/y;double z2=1.0*z1/z;double sum=x2+y2+z2;System.out.printf("%."+wei+"f", sum);}}
二、Yaroslav and Algorithm
char[] toCharArray() 将此字符串转换为一个新的字符数组。
这道题貌似就是实现十进制的加一,但没那么简单…
这个答案只有75分,无能为力了,一直运行超时…
import java.util.Scanner;public class Yaroslav{public static void main(String[] args){Scanner s=new Scanner(System.in);int n=s.nextInt();s.nextLine(); //这一句好像必须加上,不然是错的while (n!=0){String src = s.nextLine(); //必须以字符串的形式输入char[] num = src.toCharArray();int flag = 0;for(int i=num.length-1; i>=0; i--){if(num[i]=='9')num[i] = '0';else{num[i] += 1;flag = 1;break;}}String out = new String(num); //字符数组转化为字符串if(flag != 1)out = "1" + out;System.out.println(src+"<>"+out);n--;}}}
三、RP大冒险
输入格式:一个数N表示测点编号。
输出格式:一个0~9的数。
样例输出:当且仅当输出仅有一个数X且X为0~9的数时你的得分不为零,此时你的得分为系统根据你的输出而计算出的你本次的RP。
究竟使用怎样的函数才能获得较高的RP呢?指数函数?幂函数?斐波那契数?圆周曲线的导数函数?
不懂啥意思…
1.static double random() 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
2.static double pow(double a, double b) 返回第一个参数的第二个参数次幂的值
线性函数,只有80分…
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();if(n > 10)n %= 10;System.out.println((int)(n*Math.random())); //线性函数}
}
指数函数,102分,但仍显示有错误…
System.out.println((int)(Math.pow(n,Math.random()))); //改变输出语句
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
