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++;
}
}
}