问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java语言编程m!/n!*(m-n)!。求代码

发布网友 发布时间:2023-01-04 23:40

我来回答

3个回答

热心网友 时间:2023-10-14 08:38

import java.util.Scanner;

import org.junit.Test;
public class NumberTest {

@Test
public void test() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入m的值:");
int m = scanner.nextInt();
System.out.println("请输入n的值:");
int n = scanner.nextInt();
scanner.close();
double sum = 0;
if ((m - n) !=0) {
sum = getfactorial(m)*1.00/(getfactorial(n) * getfactorial(m -n));
System.out.println(sum);
}  else {
System.out.println("m-n等于0,无法计算!");
}

}

public int getfactorial(int value) {
if(value < 1){
    return 1;
}else if (value == 1) {
return value;
} else {
return value * (getfactorial(value - 1));
}
}
}

追问我刚学到for循环,可以用循环写一下吗?

追答

哦,知道了,你用这个试试

import java.util.Scanner;

public class NumberTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入m的值:");
int m = scanner.nextInt();
System.out.println("请输入n的值:");
int n = scanner.nextInt();
scanner.close();
double sum = 0;
int msum = 1, nsum = 1;

if (m - n == 0) {
System.out.println("m-n等于0,无法计算!");
} else {
if (m <= 1) {
msum = 1;
} else {
for (int i = 1; i < m; i++) {
msum = msum * i;
}
} // 求m!阶乘

if (n <= 1) {
nsum = 1;
} else {
for (int i = 1; i < m; i++) {
nsum = nsum * i;
}
} // 求n!的阶乘

int mnsum=1;
if (m - n <= 1) {
mnsum = 1;
} else{
for (int i = 1; i < (m-n); i++) {
mnsum = nsum * i;
}
} // 求(m-n)!的阶乘

sum = msum * 1.00 / (nsum * mnsum);
System.out.println("该值为:" + sum);
}

}

}

热心网友 时间:2023-10-14 08:38

上面的答案都是对的,但都有一个问题,就是n稍大(比如64)的时候n!就已经溢出了。
一般来说,正常应用场景下的Cnm用杨辉三角来求。对于特别大的数,还有另外一些数学上的方法。

热心网友 时间:2023-10-14 08:39

public class t1 {
public static void main(String[] args) {
int m=6;
int n=5;
System.out.println(thh(m)/thh(n)*thh(m-n));
}
 static int thh(int s){
 int k=1;
for(int i=s;i>0;i--){
k=k*i;
}
return k;
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见水猴,俗称水鬼。是好是坏 驱虫药多久吃一次 什么情况需要吃打虫药 我的微信公众号太久没有更新被冻结了,怎么样才能注销重新 三星note3画笔画的作品(扩展名SPD)怎么样下载到电脑?怎样转换成JPG格式... 火灾甲乙丙丁类怎么分 什么叫甲类、乙类、丙类和丁类液体 小分子化合物库选哪家放心? 怪物猎人世界肉块交货方法介绍介绍_怪物猎人世界肉块交货方法介绍是什么... 怪物猎人世界肉块获得方法介绍介绍_怪物猎人世界肉块获得方法介绍是什么... 开心消消消赚钱版福利 保险公司赔偿可以不在指定修车厂维修吗? 斯凯奇的闪灯童鞋掉粉 第一句怎么突然之间什么都变了那是什么歌 怎么突然之间什么都变了? 皮卡丘手工怎么做 怎么做清炒胡萝卜丝 衣服上的pvc胶水怎么洗掉 清关照片的水印什么颜色 朴素唯物主义有哪些特点? 柳州的什么地方好玩 柳州的休闲娱乐农庄 想知道: 柳州市 月畔湾休闲农庄 在哪 柳州附近有什么农庄 梦见好多蘑菇 梦见许多蘑菇 12306手机号被注册怎么办 indesign置入视频后无法播放 小米6怎么锁定后台应用程序 苹果电话簿怎么才能不被贷款公司同步 手机总是收到贷款信息怎么办? 本属于六书中的哪一种字 扇贝做法想吃哪一款自己做起来吧 qq聊天用语音表示什么 小孩子看见鬼怎么办 女儿最近会看到一些灵异事,该怎么办 红烧鱼籽如何做好吃 tfboys原来有四个人(TFBOYS原本有四个人) tfboys都有哪些人? 为什么老是不怀孕了吗 什么是总无功,无功1,无功2…… 夏天什么菜最好做阿,? &#xFEFF;七个月宝宝辅食及做法 深圳中道办是什么 google,账号删除从注册注册不了了 洗脸为什么会搓泥? 共享员工的优势和存在的问题 共享员工模式是缓兵之计,还是改革的开端 急求:win7系统下excel2007,在同一窗口下打开多工作簿的方法? 大学生自我认知的特点有哪些 slg游戏的cg放在哪