BASIC-30_蓝桥杯_阶乘计算】的更多相关文章

题目: 问题描述 输入一个正整数n,输出n!的值. 其中n!=1*2*3*…*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推. 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位. 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值. 输入格式 输入包含一个正整数n,n<=1000. 输出格式 输出n!的准确值. 样例输入 10 样例输出…
标题:承压计算 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同. 金属材料被严格地堆放成金字塔形. 7 5 8 7 8 8 9 2 7 2 8 1 4 9 1 8 1 8 8 4 1 7 9 6 1 4 5 4 5 6 5 5 6 9 5 6 5 5 4 7 9 3 5 5 1 7 5 7 9 7 4 7 3 3 1 4 6 4 5 5 8 8 3 2 4 3 1 1 3 3 1 6 6 5 5 4 4 2 9 9 9 2 1 9 1 9 2…
试题 算法提高 计算超阶乘 问题描述 计算1*(1+k)(1+2k)(1+3k)-(1+n*k-k)的末尾有多少个0,最后一位非0位是多少. 输入格式 输入的第一行包含两个整数n, k. 输出格式 输出两行,每行一个整数,分别表示末尾0的个数和最后一个非0位. 样例输入 15 2 样例输出 0 5 数据规模和约定 1<=k<=10,1<=n<=1000000. PS: 在计算的过程中就把末尾的0删掉 import java.util.Scanner; public class Ma…
问题描述 给定n和len,输出n!末尾len位. 输入格式 一行两个正整数n和len. 输出格式 一行一个字符串,表示答案.长度不足用前置零补全. 样例输入 样例输出 数据规模和约定 n<=, len<=. 记: 高精度类型涉及到数据溢出,注意用数组保存 #include <stdio.h> #define LEN 10 int main(void) { int n,k; int i,j; int carry; /*进位存储*/ ] = {};/*数组存阶乘值,防溢出*/ scan…
问题描述 78这个数可以表示为连续正整数的和,++,+++,++. 输入一个正整数 n(<=) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+)+...+b=n. 对于多种表示法,a小的方案先输出. 样例输入 样例输出 解题思路: 枚举i=1-n的数 以i为起点,枚举j=i-n的值,并累加j,当加j后的值大于n,跳出 输出i和j-1(j由于在循环中会多加一次),即累加该区间的值可以得到n AC代码: #include <stdio.h> int main(void…
问题描述 道德经曰:一生二,二生三,三生万物. 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和.例如,d()=++=, d()=++++=. 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n)),d(d(d(n)))....例如,从33开始的递增序列为: , , , , , , , , , , , , , ... 我们把n叫做d(n)的生成元,在上面的数列中,33是39的生成元,39是51的生成元,等等.有一些数字甚至可以有两个生成元,比…
有一份提货单,其数据项目有:商品名(MC).单价(DJ).数量(SL).定义一个结构体prut,其成员是上面的三项数据.在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输出提货单的总金额. 输入格式:第一行是数据项个数N(N<),接下来每一行是一个数据项.商品名是长度不超过100的字符串,单价为double类型,数量为整型. 输出格式:double类型的总金额. 输入: book pen computer flower 输出: 3497.500000 AC代码: #inclu…
问题描述 今年是国际数学联盟确定的“——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加.活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大. 同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子: 有一个数字串:, 当N=,K=1时会有以下两种分法: *=…
问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统. 输入格式 一行,为导弹依次飞来的高度 输出格式 两行,分别是最…
题目: 问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推.同样可以用一个数组B来存储b. 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[0]+B[0])%10.然后计算A[1]与…