文章标题

来源:互联网 发布:windows消息机制 编辑:程序博客网 时间:2024/06/01 04:00

//题目:求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);}

}
//**************************************************

//本金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);
}
}

//******************************************

//题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,
//又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩
//下的一半零一个。到第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);

}

}

//*****************************************

//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}

}

//*********************************************

//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}

}

//*******************************************

//素数:只能整除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

原创粉丝点击