C语言之基本算法28—硬币抛投(随机数)

//硬币抛投(随机数)

/*

=====================================================================

题目:抛投两枚硬币,试分析共有几种情况,概率分别为多少?

=====================================================================

*/

#include<stdio.h>

#include<iomanip>

#include<ctime>

main()

{

int a,b,c,n,x,y;a=0;b=0;c=0;

srand(time(0));//这个必须有,否则无法生成随机数!

for(n=0;n<100;n++)

{

x=rand()%(2-0)+0;//产生0,1两种结果,表示一正一反,所以在[0,2)内产生随机数,即2=2-0+0,在[a,b)内产生随机数:rand()%(b-a)+a,此处a=0,b=2;

y=rand()%(2-0)+0;

printf("%3d:  %d,%d      ",n+1,x,y);

if((n+1)%5==0)printf("\n");

if(x+y==0)

a++;

else if(x+y==1)

b++;

else

c++;

}

printf("两个正面:%d,一正一反:%d,两个反面:%d\n",a,b,c);

}

/*

====================================================================

评:

首先要知道这是C语言和C++的组合,其实他们是一种语言。必须用到<ctime>和<iomanip>

函数(如果不知道,那么背会记住就可以)。考点是投掷两个硬币可能产生三种结果:1、两

正,2、两反,3、一正一反,分别用0,1,2表示,这就分析出两个要素需要产生三种结果,自

然是0+0=0;0+1=1;1+1=2;所以要随机产生0,1两个要素。即在[0,2)产生随机数或等价于

[0,1]的随机数!

=====================================================================

*/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-12 07:55:37

C语言之基本算法28—硬币抛投(随机数)的相关文章

C语言值基本算法43—总结

C程序的基本算法共涵盖42个例题,包含了枚举.排列.逻辑判断.迭代.递推.字符串操作.矩阵操作.格式输出等内容. 相关的实现方法有的显得很笨拙,但足够说明问题,而且每个程序都经过作者亲测,保证可以运行.之所以称之为基本算法,就是为了测试基础知识的掌握,都是从原始的角度进行处理,没有运用过于花哨的处理技巧,作者也是在学习中进步,也希望这些代码对于没有基础或者基础薄弱的朋友带来帮助. 至此,基本知识就掌握了,我们常常会听说C的强大,因为它是面向过程的,在数学领域具有极好的应用,有必要进行进一步的学习

C语言实现FIFO算法与LRU算法

在操作系统中,当程序在运行过程中,若其所要访问的页面不再内存中而需要把他们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存调出一页程序或数据送磁盘的兑换区中.但哪一个页面调出,须根据一定的算法确定.通常,把选择换出页面的算法称为页面置换算法(Page-Replacement Algorithms).置换算法的好坏将直接影响到系统的性能. 1) 先进先出(FIFO)页面置换算法 该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰.该算法实现简单,只需

1121: 零起点学算法28——判断是否闰年

1121: 零起点学算法28--判断是否闰年 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 3988  Accepted: 2204[Submit][Status][Web Board] Description 输入年份,判断是否闰年 Input 输入一个整数n(多组数据) Output 如果是闰年,输出yes,否则输出no(每组数据一行) Sample Input 2000 Sample Out

c语言递推算法1

递推算法之一:倒推法 1.一般分析思路: if 求解初始条件F1 then begin { 倒推 } 由题意(或递推关系)确定最终结果Fn; 求出倒推关系式Fi-1 =G(Fi ); i=n; { 从最终结果Fn出发进行倒推 } while 当前结果Fi非初始值F1 do 由Fi-1=G(Fi)倒推前项; 输出倒推结果F1和倒推过程; end { of then } else begin { 顺推 } 由题意(或递推关系)确定初始值F1(边界条件); 求出顺推关系式Fi=G(Fi-1); i=1

【算法28】冒泡排序中的交换次数问题

问题描述 题目来源:Topcoder SRM 627 Div2 BubbleSortWithReversals 给定待排序数组A,在最多反转K个A的不相交子数组后,对A采用冒泡排序,问最小的swap次数是多少?冒泡排序的伪代码如下: BubbleSort(A): 循环len(A) - 1次: for i from 0 to len(A) - 2: if (A[i] > A[i+1]) swap(A[i], A[i+1]) 问题分析 首先,容易分析得到:对于任意待排序数组A,其采用冒泡排序所需要的

十一:贪心算法-寻找硬币

问题:贪心算法-寻找硬币题目描述现有价值分别为:1 3 5 10的硬币若干.请用最少的硬币数量找出n(n<100000000)元钱.输入一个数字,表示要找出的钱的数量输出一个数字,表示需要多少硬币样例输入14样例输出 3 1 #include<stdio.h> 2 #include<stdlib.h> 3 long k=100000000; 4 int a[4]={1,3,5,10}; 5 void fun(int n,int m,int sum){ 6 int i; 7 i

0.数据结构(python语言) 基本概念 算法的代价及度量!!!

先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题(需求)的具体的例子 算法:解决问题的过程,是对一个计算过程的严格描述 程序:程序可以看作是采用计算装置能够处理的语言描述的算法 一.算法的5大性质 有穷性(算法描述的又穷性):算法必须用有限长的描述说清楚 能行性:算法的每一步都是可行的,也就是说,每一步都能通过执行有限次数完成 确定性:别人看了过

C语言版数据结构算法

C语言版数据结构算法 C语言数据结构具体算法 https://pan.baidu.com/s/19oLoEVqV1I4UxW7D7SlwnQ C语言数据结构演示软件 https://pan.baidu.com/s/1u8YW897MjJkoOfsbHuadFQ 在上一篇的FIFO中就是基于数据结构思维中的队列实现的,而基本的数据结构内容还有 算法效率分析.线性表.栈和队列.串.数组和广义表.树和二叉树.图.查表.排序.动态存储管理 上面两个链接就是<数据结构(C语言版)>严蔚敏教授严奶奶的书籍

R语言之Apriori算法应用

一. 概念 关联分析用于发现隐藏在大型数据集中的有意义的联系.所发现的联系可以用关联规则(association rule)或频繁项集的形式表示. 项集:在关联分析中,包含0个或多个项的集合被称为项集(itemset).如果一个项集包含k个项,则称它为k-项集.例如:{啤酒,尿布,牛奶,花生} 是一个4-项集.空集是指不包含任何项的项集. 关联规则(association rule):是形如 X → Y 的蕴含表达式,其中X和Y是不相交的项集,即:X∩Y=∅.关联规则的强度可以用它的支持度(su