电费分段收费
1.四舍五入
b=int((b*10)+0.5)/10.0;//四舍五入到小数点后一位
2.分段的一个方法
for(i=1;i<=150;i++)
cost[i]=0.4463;
for(i=151;i<=400;i++)
cost[i]=0.4663;
for(i=401;i<=10000;i++)
cost[i]=0.5663;
for(i=1;i<=a;i++)
b+=cost[i];
适合很多连续段的分段
化最简分数
1.辗转相除法
int gcd(int up, int down)
{
int k = 0;
while (up % down != 0)
{
k = up % down;
up = down;
down = k;
}
return k;
}
2.错位相减法
int gcd(int up, int down)
{
int k = 0;
while (up != down)
{
if (up > down)
up -=down;
else
down -= up;
}
return up;
}
3.穷举
从最大的那个数开始 一个一个找最大公约数
高精度计算
最大的数是 unsigned long long
这个都处理不了,就用数组把每一位存起来 用数组的每一位运算 就叫高精度运算
(python写过)
0.存两个数: 用两个数组
1.加法:有无进位
2.减法:有无退位
(92条消息) C++高精度基本运算(全面实现)_actioncms的博客-CSDN博客_c++精确计算
题目:阶乘的和
P1009 [NOIP1998 普及组] 阶乘之和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)