您的位置:首页 > 其它

文章标题

2017-10-10 18:24 405 查看
//题目:求s = a + aa + aaa + aaaa + aa…a的值,其中a是一个数字。

//例如2 + 22 + 222 + 2222 + 22222(此时共有5个数相加),几个数相加有键盘控制。

//1.程序分析:关键是计算出每一项的值。

import java.util.*;

class Add2

{

public static void main(String[] args)

{

Scanner scan = new Scanner( System.in );

System.out.println(“请输入关键值 1-9:”);

int key = scan.nextInt();

System.out.println(“请输入相加的位数:”);

int many = scan.nextInt(); //相加的位数

int sum = 0; //从key—–(key*10+key)—->keykey

int max = 0; //最终的值; max += sum;

for(int i=1; i<=many; i++)           //数的位数
{
sum = sum*10 + key;              // sum---> 1->11->111->1111
max += sum;                //!!注意别写成 sum += (sum*10+key)这样的sum不再是11,111 max = 1+11+111
}

System.out.println("相加的合为:" + max);

}


}
//[b]**************************************************[/b]

//本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。

//计算5年后,获得的本金是多少?(使用for循环实现)

class accrual

{

public static void main(String[] args)

{

double money = 10000;

for( int year=1; year<=5; year++)

{

money += money*0.003;

}
System.out.println(“5年后,钱总数为:” + money);

}
}
//[b]******************************************[/b]

//题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,

//又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩

//下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

//1.程序分析:采取逆向思维的方法,从后往前推断。ass

class monkey

{

public static void main(String[] args)

{

double max = 1; //总共摘的桃子;

//double p; //剩下的桃子

int day = 9; //吃了9天的桃子

for( ; day>0; day– ) //从后往前找

{

max = ((max+1)*2); //!!!前一天吃一半再加一,也就是今天的+1 == 前一天的一半

}
System.out.println(“总共摘桃子的数量为:” + max);

}


}
//[b]*****************************************[/b]

//PI = 4/1-4/3+4/5…..

class Pai

{

public static void main(String[] args)

{

double PI = 0;

double x = 1; //底,奇数 x+=2;

double y = 0; //每一次4/x的值

for( int i=0; ; i++ )

{

//i时计算的次数,为0时,给PI 的值为4/1

if( i%2==0 ) //判断是第i次,奇偶次运算符不一样。奇数次:- 偶数次: +

{

PI = PI + 4/x;

x+=2;

}
else

{

PI = PI - 4/x;

x+=2;

}
//System.out.println(i + ” ” + PI);

        if( PI>=3.1415926 && PI<=3.1415927)
{
System.out.println("运算次数为:"+i);
break; //一定要记得break.要不就死循环了!!r
}} //for
}


}
//[b]*********************************************[/b]

//perfet number 完数:是指除过自身的其他因数之和跟自身相等。 如:6=1+2+3 28=1+2+4+7+14

class PerNum

{

public static void main(String[] args)

{

for(int num=1; num<=10000; num++) //num

{

int sum = 0; //因数之和,定义在第一层循环里,因为每次换一个数时都要清零

for(int i=1; i<=num/2; i++) //因为i是num的因数,i的最大取值为num/2

{

if( num%i == 0 ) //找出num的因数

{

sum += i;

}
if( i==num/2 && sum==num ) //!!!记得一定要等i==num/2,也就是

{

System.out.println(num + “是一个完数!!!”);

}
}
    }  //for
}


}
//[b]*******************************************[/b]

//素数:只能整除1和自身的数 判断一个数m是否为素数,需要用m/(2–m-1) 意为:m%2到m-1的所有数都不为0

//while

class prime

{

public static void main(String[] args)

{

int num = 2;

while( num<100 )

{

int i = 2; //i的值每次外循环时都要重置

boolean flag = true; //布尔标志值每次外循环++时都要重置

while( i
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 完数 素数 PI