java while循环例题

1.求整数1~100的累加值，但要求跳过所有个位数为3的数

public class MyDemo013 {

public static void main(String [] args) {
int i = 1;
int sum =0;
while( i<= 100 ) {
if( i!=3 && i < 10 ) {
sum += i;
}else if( i >= 10 && i < 100 && i%10!=3 ){
sum +=i;
}else if( i%100%10 != 3 ) {
sum +=i;
}
i++;
}
System.out.println(sum);
}
}

2.

/** 计算1*2+3*4........+99*100 **/
public class MyDemo014 {
public static void main(String [] args) {
//保存最终结果
int res = 0;
//记录前一个数
int num1 = 0;
int i=1;
while( i <= 100) {
//判断奇偶数 奇数就记录 偶数就乘
if ( i%2 == 0 ) {
res=res+num1*i;
}else{
num1=i;
}
i++;
}
System.out.println(res);
}
}

3.

/** s=100-96+92-88+......+4-0 **/
public class MyDemo015 {

public static void main(String [] args) {
int i=100;
int s = 0;
while( i >=0 ) {
s+=i-(i-4);
i-=8;
}
System.out.println(s);
}
}

public class MyDemo015 {

public static void main(String [] args) {
int i=100;
int flag = -1;
int s = 0;
while( i >=0 ) {
flag = flag*-1;
i=i-4;
s+= i*flag;
}
System.out.println(s);
}
}

4.

/** 0.005米厚的纸，折叠多少次超过8844米 **/
public class MyDemo016 {

public static void main(String [] args) {
double ph = 0.0005;
int cnt = 0;
while( ph <= 8844 ) {
cnt++;
ph=ph*2;
}
System.out.println(cnt);
}
}

5.



/** 1 1 2 3 5第三个数为前两个数的和 **/
public class MyDemo017 {

public static void main(String [] args) {
int num1 = 0;
int num2 = 1;
System.out.println(num2+"\t");
int xh = 1;
while( xh < 30 ) {
int num3 = num1+num2;
System.out.println(num3+"\t");
num1 = num2;
num2 = num3;
xh++;

}
}
}

6.鸡兔同笼问题

/** 鸡和兔共十只，脚32只，求鸡和兔各多少只 **/
public class MyDemo018 {

public static void main(String [] args) {
//定义鸡的数量
int num1 = 1;
//定义兔的数量
int num2 = 1;
//循环求鸡和兔的数量

//循环鸡的数量
while( num1 <= 10 ) {
//循环兔的数量
num2 = 1;
while( num2 <= 10) {
if( (num1*2 + num2*4) == 32 && num1+num2 == 10) {
System.out.println("鸡:"+num1+"兔:"+num2);
}
num2++;
}
num1++;
}
}
}

7.

/** 1+(1+2)+(1+2+3)+....+(1+2+3+...+20) **/
public class MyDemo019 {

public static void main(String [] args) {
int i = 1;
int sum = 0;
int result = 0;

while( i<= 20 ) {
sum = sum+i;
result += sum;
i++;
}
System.out.println(result);
}
}

8.

/** s=1!+2!+3！+...+10！ **/
public class MyDemo020 {

public static void main(String [] args) {
int i = 1;
int sum = 1;
int result = 0;

while( i<= 10 ) {
sum = sum*i;
result += sum;
i++;
}
System.out.println(result);
}
}

9.猴子吃桃子，第一天吃掉一半多一个，第二天吃掉剩下的一半多一个，天天如此，到第九天一看只剩下一个，问原来有多少桃子？

public class MyDemo021 {

public static void main(String [] args) {
int num1 = 1;
int count = 1;

while( count <= 8 ) {
num1 = (num1+1)*2;
count++;
}
System.out.println(num1);
}
}

10.用100元买100只鸡，大公鸡5元一只，母鸡3元1只，小鸡一元3只，问各能买多少只？

public class MyDemo022 {

public static void main(String [] args) {
//求公鸡、母鸡、小鸡各自的数量
int x = 1,y = 1,z = 3;
//5x+3y+z/3=100;
//x+y+z=100;
while( x < 20 ) {
y = 1;
while( y < 33 ) {
z=3;
while( z < 100 ) {
if((5*x+3*y+z/3 == 100) && x+y+z == 100) {
System.out.println("公鸡的数量:"+x+" 母鸡的数量:"+y+" 小鸡的数量:"+z);
}
z+=3;
}
y++;
}
x++;
}
}
}

• 4
点赞
• 23
收藏
觉得还不错? 一键收藏
• 0
评论
05-05
05-09
06-26 4087
04-22 1万+
06-03 1037
04-20 170
02-03 1505
11-12 264
06-15 7155
05-21 7万+
08-12 317

“相关推荐”对你有帮助么？

• 非常没帮助
• 没帮助
• 一般
• 有帮助
• 非常有帮助

1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载，可以购买VIP、付费专栏及课程。