C++实现N个骰子的点数算法

本文实例讲述了C++实现N个骰子的点数算法,分享给大家供大家参考之用。具体方法如下:

题目要求:把n个骰子仍在地上,所有点数

实现代码如下:

#include

using namespace std;

const int g_maxValue = 6;

const int number = 6;

int array[(number - 1) * g_maxValue + 1];

void probility(int original, int current, int sum, int *array)

{

if (current == 0)

{

array[sum - original]++;

return;

}

for (int i = 1; i <= g_maxValue; i++)

{

probility(original, current - 1, sum + i, array);

}

}

void generateValue(int *array, int size)

{

if (array == NULL || size <= 0)

return;

for (int i = number; i <= number * g_maxValue; i++)

{

array[i - number] = 0;

}

probility(number, number, 0, array);

for (int i = 0; i < (number - 1) * g_maxValue + 1; i++)

{

cout << array[i] << " ";

}

}

void main()

{

generateValue(array, (number - 1) * g_maxValue + 1);

}

采用循环解法,和上述代码本质一样,但是略有不同。

具体实现代码如下:

#include

using namespace std;

void PrintProbability(int number)

{

const int g_maxValue = 6;

int *array[2];

for (int i = 0; i < 2; i++)

{

array[i] = new int[g_maxValue * number];

}

for (int i = 0; i < g_maxValue * number; i++)

{

array[0][i] = 0;

array[1][i] = 0;

}

int flag = 0;

for (int i = 0; i < g_maxValue; i++)

{

array[flag][i] = 1;

}

for (int i = 1; i < number; i++)

{

for (int j = 0; j < i; j++)

array[1 - flag][j] = 0;

for (int j = i; j < (i + 1) * g_maxValue; j++)

{

array[1 - flag][j] = 0;

for (int k = 1; k <= j && k <= g_maxValue; k++)

array[1 - flag][j] += array[flag][j - k];

}

flag = 1 - flag;

}

for (int i = number - 1; i < g_maxValue * number; i++)

{

cout << array[flag][i] << " ";

}

}

void main()

{

PrintProbability(2);

}

希望本文所述对大家C++程序算法设计的学习有所帮助。相关阅读:

js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解

使用JQuery在线制作ppt并在线演示源码特效

探讨PHP删除文件夹的三种方法

win10正式版如何开启上帝模式?

PHP 双链表(SplDoublyLinkedList)简介和使用实例

jQuery实现简单的DIV拖动效果

SQL Server高级内容之case语法函数概述及使用

Android之带group指示器的ExpandableListView(自写)

深入浅析yii2-gii自定义模板的方法

JS实现仿QQ聊天窗口抖动特效

JavaScript中number转换成string介绍

ajax添加数据后如何在网页显示

Android视图控件架构分析之View、ViewGroup

yii框架配置默认controller和action示例

骰子算法 php,C++_C++实现N个骰子的点数算法,本文实例讲述了C++实现N个骰子 - phpStudy...相关推荐

  1. winform调用html,C#_C#通过html调用WinForm的方法,本文实例讲述了C#通过html调用W - phpStudy...

    C#通过html调用WinForm的方法 本文实例讲述了C#通过html调用WinForm的方法.分享给大家供大家参考,具体如下: 完整测试代码: Form1.cs: using System; us ...

  2. 寻找某个数c语言,C++_C语言实现两个递减数列中寻找某一个数,本文实例讲述了C语言实现两个 - phpStudy...

    C语言实现两个递减数列中寻找某一个数 本文实例讲述了C语言实现两个递减数列中寻找某一个数的方法,分享给大家供大家参考之用.具体方法如下: 通常来说这道题算二分查找法中非常有难度的一题了. 题目如下: ...

  3. php this指针的用法,C#_C#中this指针的用法示例,本文实例展示了C#中this指针的 - phpStudy...

    C#中this指针的用法示例 本文实例展示了C#中this指针的用法,对于初学者进一步牢固掌握C#有很大帮助,具体内容如下: 一.this指针是什么: 这里有一些面向对象编程的概念需要说明:类(Cla ...

  4. php统计大写字母个数,C++_C++统计中英文大小写字母、数字、空格及其他字符个数的方法,本文实例讲述了C++统计中英文 - phpStudy...

    C++统计中英文大小写字母.数字.空格及其他字符个数的方法 本文实例讲述了C++统计中英文大小写字母.数字.空格及其他字符个数的方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * ...

  5. java sqlite 多线程并发_C#_C#解决SQlite并发异常问题的方法(使用读写锁),本文实例讲述了C#解决SQlite并 - phpStudy...

    C#解决SQlite并发异常问题的方法(使用读写锁) 本文实例讲述了C#解决SQlite并发异常问题的方法.分享给大家供大家参考,具体如下: 使用C#访问sqlite时,常会遇到多线程并发导致SQLI ...

  6. php两个字符串公共,C++_C语言求两个字符串的最长公共子串,本文实例讲述了C语言求两个字 - phpStudy...

    C语言求两个字符串的最长公共子串 本文实例讲述了C语言求两个字符串的最长公共子串的方法.分享给大家供大家参考.具体实现方法如下: #include "stdio.h" #inclu ...

  7. 八皇后问题php,C++_C++实现八皇后问题的方法,本文实例展示了C++实现八皇后 - phpStudy...

    C++实现八皇后问题的方法 本文实例展示了C++实现八皇后问题的方法,是数据结构与算法中非常经典的一个算法.分享给大家供大家参考之用.具体方法如下: 一般在八皇后问题中,我们要求解的是一个8*8的国际 ...

  8. 算法 c语言_C语言中10个经典的算法,学会它,利用它

    C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶,也是编程中常用的算法,这里面包含了众多算法思想,掌握这些算法,对于学习更高级的.更难的算法都会有很大的帮助,会为自己的算法学习打下坚实的基础. ...

  9. php 绘制圆角矩形,C#_C#画圆角矩形的方法,本文实例讲述了C#画圆角矩形 - phpStudy...

    C#画圆角矩形的方法 本文实例讲述了C#画圆角矩形的方法.分享给大家供大家参考.具体实现方法如下: protected void Page_Load(object sender, EventArgs ...

最新文章

  1. Linux下日志文件过大解决方案
  2. Apache理论与实战
  3. TCP 协议面试灵魂 12 问 | 强势整理
  4. python 读下一行-Python:读取上一行并与当前行进行比较
  5. 程序员吐槽_某程序员吐槽一程序员大佬竟然放弃百度offer,回老家进烟草公司!是不是脑子有坑?网友:你才脑子有坑!...
  6. python线性回归分析看相关性_机器学习入门-相关分析之简单线性回归
  7. 十五、MySQL变量(系统变量、自定义变量)相关知识总结
  8. bootstrap思想总结_bootstrap学习心得总结-css样式设计分享
  9. Java 并发 —— yield/sleep、wait/notify、join
  10. 强大高可用的数据可视化神器plotly_express实践记录
  11. 按学号查找学生信息 用c语言表达,学生信息管理系统C语言编程.docx
  12. add a redfish schema
  13. C语言捕捉键盘,按键信息
  14. 1、Python3.9版本官网下载安装教程
  15. python 数据显示不完整 有省略号_python pandas之Dataframe的数据print输出显示为...省略号...
  16. microusb贴片 ad封装_diy从pcb到焊接,到程序调试,真正意思上的diy机械键盘pcb由ad绘制...
  17. codingdojo kata 之fizzbuzz
  18. 在电脑浏览器上怎样对一整个页面进行完整的截图?(整站截图)
  19. 用C语言对数据或文件内容进行加密
  20. (ACWing yxc讲解基础算法课程笔记)基础算法 整数二分

热门文章

  1. Win7计算机打印记录,知识:Win7设置打印机共享IT /计算机数据
  2. 大白话设计模式七大原则
  3. bzoj-1133 Kon
  4. mqtt协议产品化实现-华为鸿蒙实现mqtt客户端
  5. 2021.01.14【NOIP提高B组】模拟 总结
  6. twitch youtube 聊天获取
  7. RPC和GRPC和Http
  8. 0098 系统设计——Instagram设计
  9. 监控/定位/诊断必杀技——JAVA应用生产问题
  10. Python 中的字符串