【笔面经】乐鑫科技笔试(java后台开发)
题目
伪随机数周期,伪随机公式为x(n)=(a*x(n-1)+b)mod(m),根据输入的参数求伪随机数的周期。
输入为四个数,x0,a,b,m
输出为一个数,周期
例如
输入
1 12 0 15
输出为
4
解答
题目
圆周率的公式为,根据输入的小数点后的位数n求PI的输出
输入一行为n
输出一行为圆周率
例如
输入4
输出3.1416
解答
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
//System.out.println("请输入精度:");
int n=scan.nextInt();
double z=Double.valueOf("1e-"+1000);
String l="%."+n+"f";
System.out.println(String.format(l,jishuPI(z)));
}
static double jishuPI(double z){
double sum=2;
int n=1;
int m=3;
double t=2;
while(t>z){
t=t*n/m;
sum=sum+t;
n++;
m+=2;
}
return sum;
}
}