黑马程序员技术交流社区
标题:
大家做做看!!!!
[打印本页]
作者:
杨立考
时间:
2013-1-13 10:49
标题:
大家做做看!!!!
Q:现有两个骰子,一共有多少种方法可以掷出骰子点数之和是7?有多少种方法可以掷出点数之和小于等于6?(写出必要的计算过程)
作者:
林嘉健
时间:
2013-1-13 12:12
这不难吧,跟99乘法表原理差不多。
我现去试试
作者:
林嘉健
时间:
2013-1-13 12:20
本帖最后由 林嘉健 于 2013-1-13 14:08 编辑
static void Main(string[] args)
{
int moreThanSeven = 0;//可以掷出骰子点数之和是7的次数
int lessThanSix = 0;//可以掷出点数之和小于等于6的次数
for (int i = 1; i <= 6; i++)
{
for (int j = 1; j <= 6; j++)
{
int temp = i + j;
if (temp == 7)
{
moreThanSeven++;
}
else if (temp <= 6)
{
lessThanSix++;
}
}
}
Console.WriteLine("掷出骰子点数之和是7的次数为:" + moreThanSeven);
Console.WriteLine("可以掷出点数之和小于等于6的次数为: " + lessThanSix);
Console.ReadKey();
}
复制代码
类似这样就可以得出了吧~
作者:
张森
时间:
2013-1-13 12:26
public class Demo {
public static void main(String[] args) {
int[] a = new int[]{1,2,3,4,5,6};
int[] b = new int[]{1,2,3,4,5,6};
int index = 0;
for(int i=0;i<6;i++){
for(int j=0;j<6;j++){
if(a[i]+b[j]==7){
System.out.println("a["+a[i]+"]-------------b["+b[j]+"]");
index++;
}
}
}
System.out.println("掷出骰子点数之和是7一个有"+index+"种方式");
}
}
复制代码
你要计算小于6 跟这个差不多 改下if即可
作者:
jonn
时间:
2013-1-13 13:32
我来尝试一下,我的思路如下
LZ玩概率论了,两个骰子 出现情况
(1,1)(1, 2) (1, 3)(1, 4)(1, 5)(1, 6)
(2, 1) (2, 2)(2, 3) (2, 4)(2, 5)(2, 6)
(3, 1) (3, 2)(3, 3) (3, 4)(3,5) (3,6)
.....
依次推理
共有6*6 种 ,那么点数之和为7 有 (1,6) (2,5) (3,4) (4,3) (6,1)(5,2) 六种情况
出现了概率 p=6/36
class Dice
{
static int[][] dice={ {1,1},{1,2},{1,3},{1,4},{1,5},{1,6},
{2,1},{2,2},{2,3},{2,4},{2,5},{2,6},
{3,1},{3,2},{3,3},{3,4},{3,5},{3,6},
{4,1},{4,2},{4,3},{4,4},{4,5},{4,6},
{5,1},{5,2},{5,3},{5,4},{5,5},{5,6},
{6,1},{6,2},{6,3},{6,4},{6,5},{6,6},
}; //
protected int sum(){
int num=0; // 注意局部变量必须要初始化
for(int i=0;i<(dice.length/dice[0].length);i++)
{
for(int n=0;n<2;n++)
{
if(dice[i][0]!=dice[i][1]&dice[i][0]+dice[i][1]==7) //判断 二维数组每个首地址的一维数组是否相等 ,点数和为7
num++; //出现的次数进行累加
}
}
return num;
}
protected void count(){
System.out.println(sum()+"/"+dice.length);
}
}
public class Test{
public static void main(String[] args){
new Dice().count();
}
}
复制代码
点子小于等于6按照上面思路添加一个方法,用参数n传递过去就ok了 n赋值1~6之间即可
作者:
jonn
时间:
2013-1-13 13:35
林嘉健 发表于 2013-1-13 12:20
类似这样就可以得出了吧~
条件里要排除 两个骰子都为相同的点数....
作者:
林嘉健
时间:
2013-1-13 14:10
赵文 发表于 2013-1-13 13:35
条件里要排除 两个骰子都为相同的点数....
哪里错了吗?
作者:
jonn
时间:
2013-1-13 14:15
条件循环里面要出排除 点数为相同的 3 3 ,2 2 ,1 1....这是不成立了,这涉及到概率论问题... 自己好好琢磨....
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2