`
zhou_zhihao
  • 浏览: 55715 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

问题20-求100!的各位数字之和

阅读更多

问题描述如下:

n!=n*(n-1)*...*2*1,求100!的各位数字之和。

 

上代码:

/**
	 * n!
	 * 
	 * @param n
	 * @return
	 */
	private static Long factorial(Long n) {
		Long result = n;
		for (Long i = n - 1; i > 1; i--) {
			result *= i;
		}
		return result;
	}
	

  由于超出100!的范围,使用BigDecimal,代码如下:

/**
	 * n!
	 * 
	 * @param n
	 * @return
	 */
	private static String factorial(Long n) {
		BigDecimal result = new BigDecimal(n);
		for (Long i = n - 1; i > 1; i--) {
			result = result.multiply(new BigDecimal(i));
		}
		return result.toString();
	}

  求和:

	/**
	 * 求n!的各位数字之和
	 * @param s
	 * @return
	 */
	private static int sum(String s){
		int sum=0;
		for (int i = 0; i < s.length(); i++) {
			sum+= Integer.parseInt(s.charAt(i)+"");
		}
		return sum;
	}

  通过sum(factorial(100L))可以得到结果:648

 

请不吝赐教。

@anthor ClumsyBirdZ

分享到:
评论

相关推荐

    C语言参考答案汇总(浙江大学城市学院)

    20035 求1-1/4+1/7-1/10+……的前n项之和 7 20036 输出华氏-摄氏温度转换表(改错题error02_6) 8 20038 求x的n次幂 9 20041 生成 3 的乘方表 10 20044 求100^0.5+101^0.5+……+1000^0.5 10 20053 计算物体...

    1002 写出这个数 (20分).c

    读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10 ​100 ​​ 。 输出格式: 在一行内输出 n...

    浙江大学C语言上机练习题附答案

    70021 求矩阵各行元素之和 11 70022 矩阵运算 12 70023 九九乘法表 13 夏2周 14 70024 判断上三角矩阵 14 70025 算算看,这是第几天? 15 70026 找鞍点(选作) 16 70031 将字符串逆序存放 17 70032 查找字符 18 70033...

    青少年python二级真题20-05图文word程序填空阅读填空程序试题.doc

    "水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙 花数",因为153=13+53+33,请计算并输出所有三位数的水仙花数。 for n in range(100,1000): i=n//100 j=n//100%10 k=n%10 if n==i*i...

    蓝点被必做的算法经典题java.c/c++

     题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。  【程序21】  题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。  【程序22】  ...

    java经典小程序,java入门100例!.doc

    前20项之和? 11、计算圆周率 PI=4-4/3+4/5-4/7....... 打印出第一个大于 3.1415小于 3.1416的值 12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 16、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个...

    PTA特立独行的幸福(C++版)

    对一个十进制数的各位数字做一次平方和,称作一次迭代。如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数。1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100...

    java 经典习题.doc

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,...

    适合于初学者的java小程序之3

    求1+2!+3!+...+20!的和 利用递归方法求5!。 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。...求一个3*3矩阵对角线元素之和

    循环结构相关练习题C语言

    10. 1000~ 5000之间有多少整数,其各位数字之和为5,分别是哪些数(例如整数2003的各位数字之和为 2+0+0+3 ,等于5)), 并统计满足条件的整数有多少个。 11. 求1-100中 是7的倍数 的数值之和 12. 求1-1000之间...

    c程序设计习题参考(谭浩强三版)习题参考解答

    ③按逆序打印出各位数字。例如原数为321,应输出123。 13 5.8企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元(100000≤200000)时,其中10万元按10%提成,高于10...

    JAVA作业——初学者遇到的java编程题目

    5.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求出这个数列的前20项之和。 6.打印出杨辉三角形(要求打印出6行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 5 1 7.打印菱形和和空心菱形 8.输入两个日期...

    上海电机学院C语言实训答案

    (13)函数 fun 的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 (14)函数 fun 的功能是:用插入排序法将n个字符进行排序(降序)。(提示: ...

    C语言模拟试题.zip

    FILL从键盘输入一个数字组成的字符串将字符串转换成十进制数.CFILL二维数组N行M列找出每行的最大值.CFILL计算1到100之间奇数之和及偶数之和.CFILL将一个整数转换成字符串并倒序保存在字符数组str.CFILL求1到1000中...

    基于单片机的数字温度计设计(1).doc

    基于单片机的数字温度计设计 引言 随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测 和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的 成本低,但需后续...

    10道java经典面试题 含代码

    4、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 5、题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 6、题目:请输入星期几的...

    练习P20入门版答案

    一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。编程找出所有符合条件的三位数。 注:1. 不能手算后直接打印结果。 2. “质数”即“素数”,是指除1和自身...

    C#企业培训第三课源码(练习20题)

    打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+33+53。 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾...

    数字电子产品设计与制作:数制及转换.pptx

    十进制数可表示为各位加权系数之和,称为按权展开式 例:(32.79)10 = 3× 101 + 2×100 + 7×10-1 + 9×10-2 知识链接二 编码器的逻辑功能测试 2.二进制 进位规律:逢二进一,借一当二 数码:0、1 按权展开式表示 ...

    MSP430单片机课程设计-简单计算器设计.pdf

    2 MSP430单片机课程设计 unsigned char disbuff[8] = {20,20,0,0,0,0,0,0};//初始数码管 unsigned char getkey(void); unsigned int qiushu(); void clear(void); void zhuanhuan(); void delay(unsigned int j) { ...

Global site tag (gtag.js) - Google Analytics