| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3772 人关注过本帖
标题:数学排列组合计算
只看楼主 加入收藏
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
结帖率:93.94%
收藏
已结贴  问题点数:20 回复次数:11 
数学排列组合计算
实现下述目的:
0.9*0.8**0.7*0.6*0.5*0.4*0.3*0.2*0.1
0.9*0.8*0.7*0.6*0.5*0.4*0.3*0.2*0.9
0.9*0.8*0.7*0.6*0.5*0.4*0.3*0.8^2
0.9*0.8*0.7*0.6*0.5*0.4*0.7^3
0.9*0.8*0.7*0.6*0.5*0.6^4
0.9*0.8*0.7*0.6*0.5^5
0.9*0.8*0.7*0.4^6
0.9*0.8*0.3^7
0.9*0.2^8
0.1^9

这是我个人编的程序,但总是不对。
#include <math.h>
#include"string.h"
#include"stdlib.h"
#include <stdio.h>
FILE *out;
int main(void)
{  
long double m,n,c=1,k=10,h=k-10,sum=0,b,t,u,v,s=10;  //k为实际的孔数   
out=fopen("E:\\收获1.txt","wt");  
for(m=1;m<=10;m++)   //m为微滴进入的孔数
{  
   u=m/k;
  v=k-h-m;
    b=pow(u,v);
    for(n=k;n>=k+1-m;n--)
      c*=(n/s);
    t=b*c;
    sum=sum+t;
    fprintf(out,"%.12f\n",t);   //%.6f意思是保留6位小数
 }
fprintf(out,"%.20f\n",sum);
}

[此贴子已经被作者于2016-4-20 21:14编辑过]

搜索更多相关主题的帖子: include double 数学 
2016-04-20 21:12
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
各位大侠帮帮忙,困惑好久了!谢谢!
2016-04-20 21:25
北国的冬
Rank: 2
等 级:论坛游民
帖 子:5
专家分:11
注 册:2016-4-15
收藏
得分:0 
这个怎么看不懂,你这是什么编的,有fprintf?
2016-04-20 23:16
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用北国的冬在2016-4-20 23:16:17的发言:

这个怎么看不懂,你这是什么编的,有fprintf?

文件输出。
2016-04-20 23:43
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:1 
以下是引用zhou31146001在2016-4-20 21:12:44的发言:

实现下述目的:
0.9*0.8**0.7*0.6*0.5*0.4*0.3*0.2*0.1
0.9*0.8*0.7*0.6*0.5*0.4*0.3*0.2*0.9
0.9*0.8*0.7*0.6*0.5*0.4*0.3*0.8^2
0.9*0.8*0.7*0.6*0.5*0.4*0.7^3
0.9*0.8*0.7*0.6*0.5*0.6^4
0.9*0.8*0.7*0.6*0.5^5
0.9*0.8*0.7*0.4^6
0.9*0.8*0.3^7
0.9*0.2^8
0.1^9
}

这个排列组合叫什么名堂?
2016-04-20 23:44
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
回复 4楼 吹水佬
你好,C语言编的,fprint()是输出函数。
这个排列组合表是对数学排列计算后得到的。

[此贴子已经被作者于2016-4-21 08:51编辑过]

2016-04-21 08:50
墨莫莫
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:29
专家分:102
注 册:2016-4-18
收藏
得分:0 
应该是printf吧,前面怎么多了一个 f
2016-04-21 09:45
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
输出的结果是什么?每一行的计算值吗?
2016-04-21 09:50
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
回复 8楼 grmmylbs
对,每一行的计算值。
麻烦您了!
2016-04-21 09:53
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:1 
可用递归解
double f(double a,double b,int c)// a是最前面的那一窜数字相乘,b是最后一位数,c是最后一位数的幂
{if (a<=(c+1)/10)
     return a*b^c;
 else
     return a*f(a-0.1,b,c);
}
在调用这个函数之前需要自己设好这些参数的变化。

好好学习,天天向上!
2016-04-21 10:32
快速回复:数学排列组合计算
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018254 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved