关注
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Scanner;
public class Demo2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true){ int n = sc.nextInt(); int s = sc.nextInt(); System.out.println(fun(n, s)); } } private static String fun(int n, int s) { if (s <= n) return "1"; if (s > 6 * n) return "0"; long[][] dp = new long[n][s + 1]; for (int i = 0; i < dp[0].length; i++) { if (i >= 1 && i <= 6) dp[0][i] = 1; } for (int i = 1; i < dp.length; i++) { for (int j = 0; j < dp[0].length; j++) { for (int mm = 1; j - mm > 0&&mm<=6; mm++) { dp[i][j] += dp[i - 1][j - mm]; } } } for (int i = 0; i < dp.length; i++) { System.out.println(Arrays.toString(dp[i])); } BigDecimal aa = new BigDecimal(0); for (int i = 0; i < dp[0].length-1; i++) { aa = aa.add(new BigDecimal(dp[n-1][i])); } BigDecimal bb = new BigDecimal(6); BigDecimal pow = bb.pow(n); aa = pow.subtract(aa); BigDecimal gcd = gcd(pow, aa); return aa.divide(gcd).toString()+"/"+pow.divide(gcd).toString(); } public static BigDecimal gcd(BigDecimal aa, BigDecimal bb) { if (bb.toString().equals("0")) return aa ; else{ BigDecimal[] divideAndRemainder = aa.divideAndRemainder(bb); return gcd(bb, divideAndRemainder[1]); } }
} //被bigdecimal搞惨了
查看原帖
点赞 评论
相关推荐
12-18 17:51
浙江大学 Java 点赞 评论 收藏
分享
只会一面挂:这种离谱的部门,不去也罢
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招落幕,你是He or Be #
1742次浏览 52人参与
# 应届生进小公司有什么影响吗 #
108563次浏览 1108人参与
# 重来一次,你会对开始求职的自己说 #
2056次浏览 55人参与
# 你面试体验感最差/最好的公司 #
1443次浏览 44人参与
# 一人说一个提前实习的好处 #
2345次浏览 43人参与
# 大厂VS公务员你怎么选 #
70083次浏览 649人参与
# 团建是“福利”还是是 “渡劫” #
3270次浏览 81人参与
# 工作中听到最受打击的一句话 #
1586次浏览 33人参与
# 实习没事做是福还是祸? #
6817次浏览 114人参与
# 从顶到拉给所有面过的公司评分 #
144642次浏览 518人参与
# 你小心翼翼的闯过多大的祸? #
6006次浏览 100人参与
# 今年你最想重开的一场面试是? #
1066次浏览 21人参与
# 联影求职进展汇总 #
123696次浏览 781人参与
# OPPO求职进展汇总 #
755707次浏览 5390人参与
# 互联网公司爆料 #
158433次浏览 724人参与
# 公司情报交流地 #
127335次浏览 1233人参与
# 今年形式下双非本找得到工作吗 #
266172次浏览 1541人参与
# 实习简历求拷打 #
27339次浏览 275人参与
# 在牛客分享我的求职旅程 #
176911次浏览 2689人参与
# lastday知无不言 #
101228次浏览 641人参与

