当前位置: 首页 > news >正文

技术支持 东莞网站建设母婴护理南昌网站优化公司

技术支持 东莞网站建设母婴护理,南昌网站优化公司,市场营销策划包括哪些内容,html网页设计作业成品免费题目描述 求 n ! n! n! 中某个数码出现的次数。 输入格式 第一行为 t ( t ≤ 10 ) t(t \leq 10) t(t≤10),表示数据组数。接下来 t t t 行,每行一个正整数 n ( n ≤ 1000 ) n(n \leq 1000) n(n≤1000) 和数码 a a a。 输出格式 对于每组数据&a…

题目描述

n ! n! n! 中某个数码出现的次数。

输入格式

第一行为 t ( t ≤ 10 ) t(t \leq 10) t(t10),表示数据组数。接下来 t t t 行,每行一个正整数 n ( n ≤ 1000 ) n(n \leq 1000) n(n1000) 和数码 a a a

输出格式

对于每组数据,输出一个整数,表示 n ! n! n! a a a 出现的次数。

样例 #1

样例输入 #1

2
5 2
7 0

样例输出 #1

1
2

1.题目分析

输入一个t代表数据的组数,每组数据有两个数,计算第一个数的阶乘,统计阶乘结果中第二个数的出现次数并打印。

乍一看,这道题用递归和函数就能轻松解决,但是计算阶乘的输入可以是1000的,所以又涉及到了高精度的乘法。
本人愚钝之前用c++写过A*B的高精度乘法,代码很长,这道题偷点懒就是用Java的高精度来计算会方便很多。

当然用c++也是可以写的,用整型数组存储阶乘结果的每一位数字,或者用字符数组存储结果都可以。

使用Java计算高精度之前,我们要了解Java中BigInteger的用法,我在之前的博客中有所提及: BigInteger的用法

2.题目思路

编写一个递归函数:
用于计算一个数的阶乘,设置递归出口为,当n==1时,返回1,
其他情况n连乘递减的函数即可。

输入 t,循环t次,每一次输入一个正整数和数码,调用递归函数得到阶乘,
再用while循环得到阶乘结果的每一个数字,与数码进行比较并计数。
每循环一轮打印一次计数结果即可。

3.代码实现

import java.math.BigInteger;
import java.util.Scanner;public class Main {public static void main(String[] args) {//新建输入函数Scanner sc = new Scanner(System.in);int n, a, t;//计数器int cnt;//输入数据组数t = sc.nextInt();for (int i = 0; i < t; ++i) {//每一轮计数器归零cnt = 0;//输入正整数和数码n = sc.nextInt();a = sc.nextInt();//调用得到阶乘结果BigInteger res = factorial(BigInteger.valueOf(n));//计算每一位中a出现的个数//循环条件等价于 res != 0while (!res.equals(BigInteger.valueOf(0))) {//等价于 res % 10 == a//这里是调用了除法函数,返回的是数组:商和余数,所以索引是1if (res.divideAndRemainder(BigInteger.valueOf(10))[1].equals(BigInteger.valueOf(a))) {cnt++;}//等价于 res = res / 10res = res.divide(BigInteger.valueOf(10));}//打印每一轮的结果System.out.println(cnt);}}//阶乘函数public static BigInteger factorial(BigInteger n) {//等价于 n == 1if (n.equals(BigInteger.valueOf(1))) {//等价于 return 1;return BigInteger.valueOf(1);}//等价于 n * factorial(n - 1)return n.multiply(factorial(n.subtract(BigInteger.valueOf(1))));}
}
http://www.ds6.com.cn/news/99956.html

相关文章:

  • 番禺网站公司qq群排名优化软件购买
  • 襄阳做网站公司电话新手怎么学做电商
  • 建com网站免费建立一个网站
  • 第五冶金建设公司职工大学网站销售网络平台
  • 中外商贸做网站好在哪网络查询网站
  • 网站建设人员配置是怎样的湖南seo网站策划
  • 室内装修效果图制作四川百度推广和seo优化
  • 领优惠券的网站是怎么做的分类信息网
  • 如何给游戏网站做外挂seo如何优化的
  • 企业网站开发定制超级外链发布工具
  • 盗版视频网站怎么做的营销自动化
  • dw做网站教程广东疫情防控措施
  • 建html5响应式网站的工具搜狗提交入口网址
  • 4399国语免费播放北京网站seo哪家公司好
  • 网站制作三站磁力链接搜索引擎2021
  • 政府网站建设的基本原则微信推广引流平台
  • seo外贸网站建设seo关键词优化举例
  • 成都网络建站百度小说风云榜总榜
  • 济南做网站那家好免费seo营销软件
  • 黑龙江生产建设兵团知识网站武汉seo霸屏
  • 电脑版网页入口广州seo优化公司
  • 北京市专业网站制作企业whois域名查询
  • 公司网站备案查询seo搜索引擎优化工程师招聘
  • 网站js日历控件失效不能点击kol合作推广
  • 做网站属于软件开发吗十大最靠谱it培训机构
  • wordpress 启用主题花都网络推广seo公司
  • 漳州港建设规划局网站百度推广多少钱一天
  • 做网站常用哪种语言刷死粉网站推广
  • 东莞现在哪里有疫情?武汉seo排名公司
  • 做淘宝客网站 首选霍常亮广告安装接单app