寻找高手编程解决:三个0-9的随机数字相加所得数字出现的概率分别为多少?邮箱boysyro@163.com

作者&投稿:明刷 (若有异议请与网页底部的电邮联系)
0-9随机产生3个数字,3个数字可以重复,相加和为13的概率是多少~

这是排列组合的知识点。
首先,三个数字,每一个数字互不干扰,,0-9任意一个都可以,每个数字10种可能,总样本就是有10×10×10=10³种可能。
接着分析满足条件的,三个数字相加和为13,采用分类的方法,假设其中一个数字为0-9中的其中一位,其他另两个数字就可以依次确定。
假设第一个数字为0,剩下两个数字相加为13,因为没有10,所以不可能小于等于3,则第二个数字可以取4,5,6,7,8,9,第三个数字则相应确定为9,8,7,6,5,4,4-9共6种可能,记为6;
假设第一个数字为1,其他两个数字因为没有12所以不可能出现0,也不可能有11、10,所以第二个数字取值范围为3-9,第三个数字因为前两个数字确定而唯一确定,这里就是3-9共7种可能,记为7;
假设第一个数字为2,第二个数字取值范围为2-9,2-9共8种可能,记为8;
假设第一个数字为3,第二个数字取值范围为1-9,1-9共9种可能,记为9;
假设第一个数字为4,第二个数字取值范围为0-9,0-9共10种可能,记为10;
假设第一个数字为5,不可能出现9,因为9+5=14,第二个数字取值范围为0-8,0-8共9种可能,记为9;
假设第一个数字为6,第二个数字取值范围为0-7,0-7共8种可能,记为8;
假设第一个数字为7,第二个数字取值范围为0-6,0-6共7种可能,记为7;
假设第一个数字为8,第二个数字取值范围为0-5,0-5共6种可能,记为6;
假设第一个数字为9,第二个数字取值范围为0-4,0-4共5种可能,记为5。
所以综上所述,把10种情况相加起来,即6+7+8+9+10+9+8+7+6+5=75,所以所求概率为75/1000=3/40。

一个数选不到1的概率为0.9
选n个数都选不到1的概率为0.9^n
所以选到1的概率为1-0.9^n
正难则反

0-9三个随机数之和最大为27最小为0,可以设一数组a[28]={0},设三个数a=rand()%10,b=rand()%10,c=rand()%10,然后令sum=a+b+c,然后令a[sum]++,然后a[0]~a[27]依次除以总次数即可。

程序如下:(c version)
#include <stdio.h>
#include <stdlib.h>
//循环10000次算概率该值越大概率越精确
const int count=10000;
void main(void)
{
int aa[28]={0};
int sum;
int a,b,c;
int i;
for(i=0;i<count;i++)
{
a=rand()%10;
b=rand()%10;
c=rand()%10;
sum=a+b+c;
aa[sum]++;
}
for(i=0;i<28;i++)
{
printf("%d概率为:%f\n",aa[i],aa[i]*1.0/count);
}
}

程序已在vc6.0上调试通过


编程高手,又来了~~~ 求对称算式的
再比如(111c+10d-10e)=3(111e+10d-10ac)则141c=20d+343e,那么可以是c=3,e=1,d=4,b=3a,这样又可以随手写出一组答案26*341=143*62等等等等,这说明2位数与3位数相乘的对称算式也很多。至于3位乘3位,2位乘4位的都可以找出它们的规律,再加上中间可以用+号的就更多了!所以这样的算式是无穷种的!

集合找数问题求编程高手帮助
include<iostream.h> include<stdio.h> include<cmath> include<string> struct term\/\/定义多项式的项的结构体 { double coef;int exp;term *next;};class poly\/\/定义存储多项式的链表的类 { public:poly(){head=0;} int degree();friend istream& operator >>(istream &,poly &);friend ...

为什么打开豆瓣的网页,就出现403forbidden,哪位高人有解决方法...
403.3 403.3错误是由于"写入"访问被禁止而造成的,当试图将文件上载到目录或在目录中修改文件,但该目录不允许"写"访问时就会出现此种错误。403.4 403.4错误是由于要求SSL而造成的,您必须在要查看的网页的地址中使用"https"。403.5 403.5错误是由于要求使用128位加密算法的Web浏览器而造成的,...

如何分辨编程高手和新手?
除多年编程经验之外,还有什么能区分一个程序员是“老手”还是“新手”?编程技巧当然是一部分,但它绝非是全部。聪明的程序员可能比他们的同行拥有更出众的编程技巧,但那不足以说明他们就是“老手”。同样,仅仅因为拥有10年编程经验也并不意味着他们就是高手。在工作岗位上,拥有多年编程经验也不能说明...

文件夹显示大小为0
如果你一味想搞对这个问题,那我可以说,你最好找系统级的编程高手来解决,没有必要,够用就行了,兄弟,拷出重要文件,用GHOST 3分钟做一个新系统,我想比什么都现实,如果你的正版系统,那就不会出现这个问题,关键你的系统不是正版的兄弟,那谁也解决不了系统逻辑指针问题了,兄弟 明白 不 ...

工作二年以上的程序员前辈如何准备面试
PS:本书在第一版的基础上增加了3个方面的新内容:测试、调试和计量,集合表示,字符串问题,并对第一版的所有程序都进行了改写,生成了等量的新代码。 重构 改善既有代码的设计马丁·福勒(Martin Fowler) 著 软件开发的不朽经典,生动阐述重构原理和具体做法,普通程序员进阶到编程高手必须修炼的秘笈。 重构,一言以蔽之...

懂编程的高手...请进!菜鸟也可以进但不要瞎说...拜托!
3.只要这一门语言是完整的编程语言,不同的编程语言是能写出同样的应用软件的,不过系统软件 就不好说了 4.编同一个软件,用不同的语言,体积是不同的。汇编最小吧 5.没有一种语言是别的语言的基础,学语言没有基础而言。不能说学会英语了就一定能学好汉语,呵呵 6.那些黑客和能破解软件的高手不...

寻找编程高手,帮我编写一个程序:将一个.dat文件通过C++语言读取,并存入...
vector<string> SplitString(string s,char a){ vector<string> Results=vector<string>();int index=s.find_first_of(a);while(index>=0){ index=s.find_first_of(a);string s1=s.substr(0,index);if (s1!=""){ Results.push_back(s1);} s=s.substr(index+1,s.length()-index);...

编程高手请进!(C语言)
t2=5*gj+3*mj+xj\/3;if (t1==0&&t2==100)printf("gj=%d,mj=%d,xj=%d\\n",gj,mj,xj);} } } 3.\/* (a part of parser)simple integer arithmetic calculator <exp> -> <term>{<addop><term>} <addop> -> + | - <term> -> <factor> { <mulop> <factor> } <mulop> ...

会C++编程的高手请来帮下忙
printf("\\t\\t | 3. Sort |\\n");printf("\\t\\t | 4. Insert a Record |\\n");printf("\\t\\t | 5. Delete a Record |\\n");printf("\\t\\t | 6. Query |\\n");printf("\\t\\t | 7. Statistic |\\n");printf("\\t\\t | 8. Add Records from a Text File|\\n");printf("\\...

洋县18986797890: 寻找高手编程解决:三个0 - 9的随机数字相加所得数字出现的概率分别为多少?邮箱boysyro@163.com -
欧祝黄藤: 0-9三个随机数之和最大为27最小为0,可以设一数组a[28]={0},设三个数a=rand()%10,b=rand()%10,c=rand()%10,然后令sum=a+b+c,然后令a[sum]++,然后a[0]~a[27]依次除以总次数即可.程序如下:(c version)#include <stdio.h>#include ...

洋县18986797890: C语言 产生3个 0到9的随机数 -
欧祝黄藤: 上面的会重复 ,用我这个#include <stdlib.h> //标准工具库,要用到其中的rand() #include <stdio.h> #include<conio.h> #include <time.h> //时间int main(void) { int i; int r; int sz[10]=; srand(time(NULL));printf("Ten random numbers from 0 to 9\n\n...

洋县18986797890: 求一个产生随机0 - 9数字的程序 -
欧祝黄藤: JAVA中显示一个0~9的随机数: import Java.util.* public class t { public static void main(String args[]) { Random rm = new Random(); int i = rm.nextInt(10); System.out.println(i); } 在JAVA中Random就是用于产生一个随机数的类,先实例化这个类...

洋县18986797890: 怎么用c语言随机生成4个0~9的数?求编程!!拜托了,很急用!! -
欧祝黄藤: 1 2 3 4 5 6 7 8 9 10 11 12 13 14#include<stdio.h> #include"stdlib.h" #include"time.h" voidmain() {srand((unsigned)time(0));/*srand()函数是初始化随机数产生器,它产生随机数种子,就是初始化随机数,没有它每次的随机数都会一样...

洋县18986797890: C语言求助 谢谢! 一个三位数 每位数都有0 - 9十种可能,现在请求编程求每位数相加之和!
欧祝黄藤: #include <stdio.h> void main() { int a,b,c,s,counter = 0; for(a = 1;a < 10;a++) for(b = 0;b < 10;b++) for(c = 0;c < 10;c++) { s = a + b + c; if(counter%15 == 0) printf("\n"); counter++; printf("%3d : %2d ",100 * a + 10 * b + c,s); } printf("\n\n");} 运行结果部分截图如下.

洋县18986797890: JAVA问题:随机产生50个10以内(0 - 9)的整数,统计每个数出现的次数,以及出现次数最多的数? -
欧祝黄藤: 结合以上2位高手的代码写的 int[] arr = new int[50]; int[] tj = new int[10]; //保存统计结果 例 出现0 和 3 的次数 就保存在 tj[0] 和 tj[3]里 for(int i = 0; i < 50; i++){ arr[i] = new java.util.Random().nextInt(10); } for(int i = 0; i < arr.length; i++){ int num = arr[i]; ...

洋县18986797890: 如何用C或C++编写一个程序,随机从10个数中选出3个. -
欧祝黄藤: 这样应该是随机的.#include #include #include #define N 10#define M 3void random(int* a, int n, int* b, int...

洋县18986797890: 有点麻烦的概率题,有耐心的请解答三个0 - 9的随机数字(可重复),求他们的和x(0 -
欧祝黄藤:[答案] 概 率:0.001 0.003 0.006 0.010 0.015 0.021 0.028 0.036 0.045 0.055三数和:0 1 2 3 4 5 6 7 8 9 概 率:0.063 0.069 0.073 0.075 0.075 0.073 0.069 0.063 0.055 0.045三数和:10 11 12 13 14 15 16 17 18 19 概 率:...

洋县18986797890: 三个数从0到9随机出,求三个数不重复,且不出现一个1的概率. -
欧祝黄藤: 9*8*7/10*10*10=0.501

洋县18986797890: 求高手编个excel 宏代码(不难) -
欧祝黄藤: Private Sub test() Dim result As String '包含0到9这十个号码的随机数 Dim randomValue As Integer Dim randomData(10) As Integer Dim flag As Boolean For i = 0 To 9 flag = True While flag = True Randomize randomValue = Int((9 - 0 + 1) * Rnd +...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网