第三次java作业
2017-10-25 01:49
423 查看
1.编写程序1!+2!+....10
[java] view
plain copy
public class text2{
public static void main(String[] args)
{
long temp=1l;
long sum=0l;
for (int i=1;i<11 ;i++ )
{
temp=temp*i;
sum=sum+temp;
}
System.out.println("1!+2!+3!+...+10!="+sum);
} }
2.编写程序求100之类素数
public class text{
public static void main(String[] args){
int n=0;
for(int i=2;i<=100;i++)
{
if(Prime(i))
{
n++;
System.out.print(i+"\t");
if(n%5==0)
System.out.println();
}
}
}
//判断是否是素数
static boolean Prime(int number)
{
for(int i=2;i<=Math.sqrt(number);i++)
{
if(number%i==0)
return false;
}
return true;
}
3.分别用do-while和for循环计算1+1/2!+1/3!+1/4!+……的前20项和
public class text{
public static void main(String args[]) {
double sum=0,a=1,i=1;
do { sum=sum+a;
i++;
a=(1.0/i)*a;
}
while(i<=20);
System.out.println("使用do-while循环计算的sum="+sum);
for(sum=0,i=1,a=1;i<=20;i++) {
a=a*(1.0/i);
sum=sum+a;
}
System.out.println("使用for循环计算的sum="+sum);
}
}
4.一个数如果恰好等于它的因子之和,这个数就称为完数。编写应用程序求1000之内的所有完数
public class text{
public static void main(String args[]) {
int sum=0,i,j;
for(i=1;i<=1000;i++) {
for(j=1,sum=0;j<i;j++) {
if(i%j==0)
sum=sum+j;
}
if(sum==i)
System.out.println("完数:"+i);
}
}
}
5.编写应用程序,使用for循环语句计算8+88+888+……前10项之和
public class text{
public static void main(String args[]) {
int m=8,item=m,i=1;
long sum=0;
for (i=1,sum=0,item=m;i<=10;i++) {
sum=sum+item;
item=item*10+m;
}
System.out.println(sum);
}
}
6.编写应用程序,输出满足1+2+3+……+n<8888的最大正整数n
[java] view
plain copy
public class text{
public static void main(String args[]) {
int n=1;
long sum=0;
while(true){
sum=sum+n;
n++;
if(sum>=8888)
break;
}
System.out.println("满足条件的最大正整数:"+(n-1));
}
}
[java] view
plain copy
public class text2{
public static void main(String[] args)
{
long temp=1l;
long sum=0l;
for (int i=1;i<11 ;i++ )
{
temp=temp*i;
sum=sum+temp;
}
System.out.println("1!+2!+3!+...+10!="+sum);
} }
2.编写程序求100之类素数
public class text{
public static void main(String[] args){
int n=0;
for(int i=2;i<=100;i++)
{
if(Prime(i))
{
n++;
System.out.print(i+"\t");
if(n%5==0)
System.out.println();
}
}
}
//判断是否是素数
static boolean Prime(int number)
{
for(int i=2;i<=Math.sqrt(number);i++)
{
if(number%i==0)
return false;
}
return true;
}
3.分别用do-while和for循环计算1+1/2!+1/3!+1/4!+……的前20项和
public class text{
public static void main(String args[]) {
double sum=0,a=1,i=1;
do { sum=sum+a;
i++;
a=(1.0/i)*a;
}
while(i<=20);
System.out.println("使用do-while循环计算的sum="+sum);
for(sum=0,i=1,a=1;i<=20;i++) {
a=a*(1.0/i);
sum=sum+a;
}
System.out.println("使用for循环计算的sum="+sum);
}
}
4.一个数如果恰好等于它的因子之和,这个数就称为完数。编写应用程序求1000之内的所有完数
public class text{
public static void main(String args[]) {
int sum=0,i,j;
for(i=1;i<=1000;i++) {
for(j=1,sum=0;j<i;j++) {
if(i%j==0)
sum=sum+j;
}
if(sum==i)
System.out.println("完数:"+i);
}
}
}
5.编写应用程序,使用for循环语句计算8+88+888+……前10项之和
public class text{
public static void main(String args[]) {
int m=8,item=m,i=1;
long sum=0;
for (i=1,sum=0,item=m;i<=10;i++) {
sum=sum+item;
item=item*10+m;
}
System.out.println(sum);
}
}
6.编写应用程序,输出满足1+2+3+……+n<8888的最大正整数n
[java] view
plain copy
public class text{
public static void main(String args[]) {
int n=1;
long sum=0;
while(true){
sum=sum+n;
n++;
if(sum>=8888)
break;
}
System.out.println("满足条件的最大正整数:"+(n-1));
}
}