给“余”猜数游戏

你心里想好一个1~100之间的整数x,将它分别处以3、5和7并且得到三个余数。你把这三个余数告诉计算机,计算机马上得到这个数。

游戏过程如下:

Please think of a number between 1 and 100

Your number divided by 3 has a remainder of ?1

Your number divided by 5 has a remainder of ?0

Your number divided by 7 has a remainder of ?5

Your number is 40

问题分析:找出余数与求解数之间的关系,建立问题的数学模型。

数学模型:

1) 不难理解当s=u+3*v+3*w时,s除以3的余数与u除以3的余数是一样的。

2) 对于s=c*u+3*v+3*w,当c除以3余1时,s除以3的余数与u除以3的余数是也是一样的。

 1 import java.util.*;
 2 public class gongbeishu {
 3     public static void main(String[] args) {
 4         Scanner in=new Scanner(System.in);
 5         System.out.println("Please think of a number between 1 and 100");
 6         System.out.print("Your number divided by 3 has a remainder of ?");
 7         int a=in.nextInt();
 8         System.out.print("Your number divided by 5 has a remainder of ?");
 9         int b=in.nextInt();
10         System.out.print("Your number divided by 7 has a remainder of ?");
11         int c=in.nextInt();
12         int d=70*a+21*b+15*c;
13         while (d>100) {
14             d-=105;//105为3、5、7的最小公倍数
15             System.out.println("Your number is "+d);
16         }
17     }
18 }

猜你喜欢

转载自www.cnblogs.com/qq396986862/p/10738470.html