1,求1-1/3+1/5-1/7+1/9......的值。
a,要求出前50项和值。
b,要求出最后一项小于1e-5的和值。
a答案:
a,要求出前50项和值。
b,要求出最后一项小于1e-5的和值。
a答案:
package tarena.malq; //此句为包名,可以省略。
public class MyTest01{
public static void main(String[] args){
int k=1,j=1;
// float ss=0.0f; //也可以用此句
double s=0.0;
for(int i=0,;i<50;i++){
s+=k*(1.0/j);
k=-k;
j+=2;
}
System.out.println("The double s="+s);
}
}
b答案:
package tarena.malq; //此句为包名,可以省略。
public class MyTest02{
public static void main(String[] args){
int k=1,j=1;
// float ss=0.0f; //也可以用此句
double s=0.0;
do{
s+=k*(1.0/j);
k=-k;
j+=2;
}while(Math.abs(1.0/j)>=1e-5);
System.out.println("The double s="+s);
}
}
2,(level 2)产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素数,哪些不是?
3,在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:
*
***
*****
*******
*********
4,(level 1)定义一个包含10个元素的int数组a,然后产生1000个随机整数,用数组a去统计这1000个随机整数中对10求余等于0的有多少个,对10求余等于1的有多少个......,把这些个数分别存入数组a的每个元素中。例如:若这1000个整数中对10求余等于0的有n0个,则a[0]=n0;对10求余等于1的有n1个,则a[1]=n1;依此类推。最后打印出a数组中的元素的值。
5,(level 2)将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改。
6,(level 1)实现向一个数组中插入一个元素,删除一个元素的算法。
7,(level 3)用数组实现约瑟夫出圈问题。 n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,求出所有人的出圈顺序。