高精度
文章平均质量分 71
MistKafka
这个作者很懒,什么都没留下…
展开
-
POJ1001 高精度
题意: 实数的n次幂。如果小于0,小数点前的0不用输出。算法: 1.输入(底数当做字符串来处理, 指数直接int输入) 2.记录小数点位数,删除小数点 3.将底数由char[] ——>int[],并且颠倒数字顺序。如:“95.123”——>{3, 2, 1, 5, 9}.同时获取底数的位数 4.计算n次幂 5.输出。 细化: 1、2、3原创 2013-04-05 22:33:22 · 660 阅读 · 0 评论 -
uva784 Exponentiation (实数高精度乘方)
题意: 没什么好说的。 就是求实数的乘法。 注意点是: 输入的小数有后导零。 如最后一组1.0100 12 。 在输入的时候要判断。思路: 记录小数位, 结果的小数位等于 一开始的小数位 * R。 用strchr()锁定小数点, 去掉小数点, 当整数去乘方。第二次做这道题, 思路 条理都清楚了很多。#include #include using namespa原创 2013-07-20 19:35:46 · 903 阅读 · 0 评论 -
uva424 (高精度加法)
题意:给不定个数的大数, 求总和。思路:直白的高精度加法。算法复杂度:o(1), 每次加的次数没有变(没动态的确定需要加的次数, 因为加的过程中统计位数有点麻烦)。代码: #include #include using namespace std;#define MAX_BIT 1000void toDigit(char *str, int *d原创 2013-08-02 20:34:35 · 1195 阅读 · 0 评论 -
uva10106 (高精度乘法)
题意: 高精度乘法。思路: 直白的高精度乘法。 核心代码是 乘 的那部分。经常忘记。算法复杂度: o(N^2) N是数的位数。代码:#include #include using namespace std;#define MAX_N 1000void toDigit(char *str, int *digit){ int len = str原创 2013-08-02 20:38:09 · 898 阅读 · 0 评论 -
uva748 ( 高精度 浮点数幂)
题意: 输入一个小数底,跟一个整数指数。输出幂。思路:题目要注意输入的时候 要去掉前导零; 记录小数点位数(strchr()函数);算法复杂度:o(N^2)N是底数位数。代码:#include #include using namespace std;#define MAX_N 2000void toDigitReverse(char *, in原创 2013-08-02 21:00:24 · 850 阅读 · 0 评论 -
uva10494 (高精度除法)
题意: 题目样例简单明了。思路: 从被除数的高位开始for(i:0 -> strlen(被除数)), 用每次用sscanf(str, "%d", &num)读入i位(要截断) num 跟除数做除法 跟 mod运算。 除的结果放入rslt[i]中, mod的结果ssprintf()回str。 例如: 7834 / 72 i = 1: 7 / 72 == 0 放入rslt[i]原创 2013-08-02 21:15:56 · 1203 阅读 · 0 评论 -
uva465(伪高精度)
题意: 判断第一个数, 第二数, 结果是否超出int范围。思路:用double输入就行, 跟INF比较就是了。算法复杂度: o(1)代码:#include #include using namespace std;#define MAX_N 1000const int INF = 0x7fffffff;int main(){ char s1原创 2013-08-02 20:54:01 · 1577 阅读 · 0 评论