Craps赌博游戏、百钱白鸡、七星彩选号、抓小偷、21根火柴、10000以内完美数

Craps赌博游戏

游戏规则:同时扔两颗骰子,第一次扔出的点数数7或则11玩家胜,扔出2、3或则12庄家胜利,否则继续扔骰子。

     以后只要扔出和第一次相同的点数玩家胜,扔出7庄家胜。

     玩家每次进入有1000的筹码,输完游戏结束!

 1 public static void gambleGame() {
 2         int a = 0;
 3         int money = 1000;
 4         for (int j = 0;; j++) {
 5             if (money > 0) {
 6                 System.out.println("余额:"+money);
 7                 String string=JOptionPane.showInputDialog("请输入下注金额:");
 8                 if (string==null) {
 9                     break;
10                 }
11                 int outMoney = Integer.parseInt(string);
12                 if (outMoney <= 0) {
13                     JOptionPane.showMessageDialog(null, "涩家子!");
14                 } else if (outMoney > money) {
15                     JOptionPane.showMessageDialog(null, "余额不足!余额:"+money);
16                 } else {
17                     for (int i = 0; ; i++) {
18                         int n = (int) (Math.random() * 6 + 1)
19                                 + (int) (Math.random() * 6 + 1);
20                         System.out.println("第" + (i + 1) + "次结果是" + n);
21                         if (i == 0) {
22                             a = n;
23                         }
24                         if (i == 0 && (n == 7 || n == 11)) {
25                             System.out.println("玩家胜!");
26                             money += outMoney;
27                             break;
28                         } else if (i == 0 && (n == 2 || n == 3 || n == 12)) {
29                             System.out.println("庄家胜!");
30                             money -= outMoney;
31                             break;
32                         }
33                         if (i > 0) {
34                             if (n == a) {
35                                 System.out.println("玩家胜!");
36                                 money += outMoney;
37                                 break;
38                             }
39                             if (n == 7) {
40                                 System.out.println("庄家胜!");
41                                 money -= outMoney;
42                                 break;
43                             }
44                         }
45                     }
46                 }
47             }else {
48                 JOptionPane.showMessageDialog(null, "你已经输完了!");
49                 break;
50             }
51         }
52     }

百钱白鸡

1 for (int i = 0; i < 100; i+=3) {
2             for (int j = 1; j < 33; j++) {
3                 int k=100-i-j;
4                 if (5 * k+3 * j+i / 3 == 100 && k >= 0) {
5                     System.out.println(i+","+j+","+k);
6                 }
7             }
8         }

七星彩选号

public static void randomLottery() {
        int a = Integer.parseInt(JOptionPane.showInputDialog("请输入随机彩票的组数:"));
        for (int i = 0; i < a; i++) {
            System.out.print("第" + (i + 1) + "组彩票是:");
            for (int j = 0; j < 7; j++) {
                System.out.print((int) (Math.random() * 10) + " ");
            }
            System.out.println();
        }
    }

抓小偷

A说:“B没有偷,是D偷的”;

B说:“我没有偷,是C偷的”;

C说:“A没有偷,是b偷的”;

D说:“我没有偷”;

1 int[] array = {0,0,0,0};
2             for (int i = 0; i < array.length; i++) {
3                 array[i]=1;
4                 if (array[1]+array[2]==1&&array[1]+array[3]==1) {
5                     System.out.println(i);
6                 }
7             }

21根火柴

int totalMatchNum=21;
        for (int i = 0; i <= 21/5; i++) {
            int myTakeMatchNum=Integer.parseInt(JOptionPane.showInputDialog("请输入要拿走的火柴数(1到4根):"));
            int computerTakematchNum=5-myTakeMatchNum;
            totalMatchNum-=5;
            if (totalMatchNum==1) {
                System.out.println("还剩一根火柴,你已经输了!");
                break;
            }else {
                System.out.println("我拿走了 "+myTakeMatchNum+" 根火柴。\n电脑拿走了 "+computerTakematchNum+" 根火柴。\n还剩"+totalMatchNum+"根火柴。");
            }

10000以内完美数

所有因子(除开自身)的和等于自身的数。

 1 for (int i = 1; i < 10000; i++) {
 2             int sum = 0;
 3             for (int j = 1; j < i; j++) {
 4                 if (i % j == 0) {
 5                     sum += j;
 6                 }
 7             }
 8             if (sum == i) {
 9                 System.out.println(i+"是完美数!");
10             }
11         }

     

时间: 2024-12-24 19:21:30

Craps赌博游戏、百钱白鸡、七星彩选号、抓小偷、21根火柴、10000以内完美数的相关文章

C语言百钱白鸡问题

问题描述:中国古代数学家张丘建在他的<算经>中提出了一个著名的“百钱白鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡.母鸡.小鸡各多少只? 问题分析:我们将公鸡.母鸡.小鸡对应的变量分别设为cock.hen.chicken,则有chicken必定为三的倍数.同时满足cock+hen+chicken=100,并且满足5*cock+3*hen+chicken/3=100.本题我们需要用循环结构来进行穷举.需要三重循环,对cock循环,对hen的循环,对chi

百钱白鸡(for循环的练习)

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> </body> </html> <script> // 百钱百鸡 公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性 // 写条件gj*2 + mj*1

百钱白鸡问题

伪代码描述:for(int x=0;x<=100;x++){ for(int y=0;y<=100-x;j++) z=100-x-y; if(z%3==0){ if(5*3+3*y+z/3==100){ then(x,y,z) is solution; } } }

0002_百钱买鸡

百钱买鸡:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱? 思路:设定公鸡,母鸡,小鸡各买x,y,z只,则满足下列条件: x+y+z=100; 5x+3y+z/3=100: 1 __author__ = 'qq593' 2 # /usr/bin/python 3 # -*- coding:utf-8 -*- 4 5 #x is the unknown number 6 for y in ra

SDUST 软件工程2016-作业4-A 百钱买鸡问题

解决百钱买鸡问题原本并不困难,关键的是这道题对其进行了升级,测试数据太大,传统的解法,像三重循环,二重循环都会导致超时. 这道题正确的解法应该是结合数学方程进行化简,将其转化为1层循环: x+y+z=n ax+by+c/d*z=m 由上述两个方程联立可用其他量表示出y来.从而只需要枚举x就能解决该题. 在求方程之后注意要化简,只有能整除的时候才进行整除.最后与m比较的时候因为c/d的问题,所以等式两边同时乘以d以消除误差. 最后千万不要加上z%d==0的条件,因为例如当3元买12小鸡的时候,实际

JAVA程序设计(13.2)---- Craps赌博游戏设计,综合运用练习

面对对象  监听器 继承 接口 设置窗口 设置图片 设置按钮 设置文字框 随机数 Craps赌博游戏 投2颗色子 ,首轮 7 ,11为玩家胜利 , 2,3,12为庄家胜利:之后玩家投到7就输 ,投到和首轮一样的点数 就赢: 1.先做色子 package com.lovo.homework; import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; /** * 类:骰子 * @author Abe

Craps赌博游戏

public class CrapsGame { public static int roll() { return (int) (Math.random() * 6 + 1); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int money = 10000; int ante = 0; int firstPoint, currentPoint; boolean sequel =

Java实现百钱买百鸡

1.问题描述 今有鸡翁一,值钱伍:鸡母一,值钱三:鸡鶵三,值钱一.凡百钱买鸡百只,问鸡翁.母.鶵各几何?答曰:鸡翁四,值钱二十:鸡母十八,值钱五十四:鸡鶵七十八,值钱二十六.又答:鸡翁八,值钱四十:鸡 母十一,值钱三十三,鸡鶵八十一,值钱二十七.又答:鸡翁十二,值钱六十:鸡母四.值钱十二:鸡鶵八十 四,值钱二十八." 2.实现源码 /** * @Title:HundredHen.java * @Package:com.you.hen * @Description:百钱买百鸡 * @author:

Java 两个骰子的 赌博游戏

package com.love; /** * Craps赌博游戏 * * */ public class Test08 { public static int roll(){ return (int) (Math.random() * 6 + 1); } public static void main(String[] args) { int firstPoint, currentPoint; firstPoint = currentPoint = roll() + roll(); Syste