华为
文章平均质量分 50
LJDaisy
这个作者很懒,什么都没留下…
展开
-
可怕的阶乘
计算阶乘n!是一件可怕的事情,因为当n并不是很大时,n!将是一个很大的值。例如13! = 6227020800,已经超过了我们常用的unsigned int类型的取值范围。请设计一个程序,使其可以计算100以内的数的阶乘,结果用字符串的形式输出详细描述:接口说明原型:void CalcNN(int n, char *pOut)输入参数:int n 需要计算的原创 2015-05-12 23:07:14 · 1105 阅读 · 0 评论 -
24点算法
24点游戏的算法,其中最主要的思想就是穷举法。所谓穷举法就是列出4个数字加减乘除的各种可能性,包括括号的算法。我们可以将表达式分成以下几种:首先我们将4个数设为a,b,c,d,,其中算术符号有+,-,*,/,。其中有效的表达式有a,ab-cd,等等。列出所有有效的表达式。其中我们用枚举类型将符号定义成数字常量,比如用1表示+,2表示-等。如下是我对穷举法的一种编程语言。在编程的头部要对变量做下定义原创 2015-05-13 11:34:41 · 2563 阅读 · 0 评论 -
将一个字符串部分前置
输入10个整形数,输入一个整形m,将整形数m个数字前置,如 1 2 3 4 5 6 7 8 9 10,m=3,输出 8 9 10 1 2 3 4 5 6 7解题思路:使用两个堆栈即可。代码如下:#include #includeusing namespace std;void main(){ int a[10]={0}; for (int i=0;i<10;i++)原创 2015-05-14 23:30:30 · 563 阅读 · 0 评论 -
取近似值
问题描述:如果小数点后面的第一个小数位大于或者等于5则向上取整,否则向下取整。问题分析:整数好理解,就是我们常用的四舍五入,用输入的数+0.5然后取整输出就好。关键是负数,这个问题描述的很不清楚,按理来说-5.5向上取整得到的应该是-5,可是,华为oj平台得到的结果是-6才是争取的,所以,如果是复数我们只能这么判断,先将这个数取反(得到正数),然后+0.5,然后用int来截断取整,原创 2015-07-02 20:10:27 · 621 阅读 · 0 评论 -
矩阵相乘
有一个x*y的矩阵和一个y*z矩阵相乘,元素均为整数,求两个矩阵相乘得到的矩阵。这是一道华为OJ题,具体描述忘记了,大致内容如此。并且要求实现的函数参数为指针。例如矩阵1为int m1[1][3]={2,-6,3};矩阵2为int m2[3][1]={4,-2,-4};乘积矩阵初始化为int r[1][1]=0;要求实现的函数为 void matrix_mult原创 2015-07-02 20:19:14 · 710 阅读 · 0 评论