1、一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿便询问篮子里有多少鸡蛋。那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿3个则剩2个,每次拿5个则剩4个,若每个鸡蛋1元,请你帮忙编程,计算最少应赔多少钱? 要求:用循环语句实现,直接打印出结果不给分。
package com.java1_2;
public class JiDan {
public static void main(String[] args) {
/*int a = 0;
int b = 0;
int c = 0;*/
for(int i=1;;i++){
if((i%2==1)&&(i%3==2)&&(i%5==4)) {
System.out.println("蓝子里总共有"+i+"个鸡蛋,总共要赔偿"+i+"元。");
break;
}
}
}
}
结果为:
2、从键盘接收一个整数N,统计出1~N之间能被7整除的整数的个数,以及这些能被7整除的数的和。
package com.java1_2;
import java.util.Scanner;
public class LianXi2 {
public static void main(String[] args) {
Scanner cxj = new Scanner(System.in);
System.out.print("请输入整数:");
int a = cxj.nextInt();
int count = 0;
int sum = 0;
for(int i=1;i<=a;i++) {
if(i%7==0) {
count++;
sum += i;
}
}
System.out.println("1~"+a+"之间能被7整除的有"+count+"个");
System.out.println("这些数之和为:"+sum);
}
}
结果示例:
3、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
package com.java1_2;
import java.util.Scanner;
public class LianXi3 {
public static void main(String[] args) {
Scanner cxj = new Scanner(System.in);
System.out.println("请输入您要查看的月份:");
int yue = cxj.nextInt();
int num1 = 1;
int num2 = 1;
int sum = 0;
for(int i=3;i<=yue;i++) {
sum = num1 + num2;
num1 = num2;
num2 = sum;
}
System.out.println("该月兔子有"+sum+"对");
}
}
结果示例:
4、一个笼子有35个头,94只脚,问鸡和兔各有多少?
解题:数学方法:设鸡i只,兔j只,方程:i + j = 35 ; 2 * i + 4 * j = 94。
解题思路:鸡和兔加起来35只,所以算每一种可能的脚的个数,符合就输出就可以了
package com.java1_2;
//鸡兔同笼35只,94只脚,求鸡有几只,兔有几只
public class LianXi4 {
public static void main(String[] args) {
/*for(int i=1;i<35;i++) {//i为兔的个数
for(int j=1;j<35;j++) {//j为鸡的个数
if((i+j)==35&&(i*4+j*2==94)) {
System.out.println("鸡有"+j+"只,"+"兔有"+i+"只");
}
}
}*/
int a=0;
for(int i=4;i<94;i++) {//i为兔的脚数
if((i%4==0)&&i/4<35) {
a = 35 - i;
if(i*4+a*2==94) {
System.out.println("鸡有"+a+"只,"+"兔有"+i+"只");
}
}
}
}
}
结果为: