0
点赞
收藏
分享

微信扫一扫

2022/2/3

张宏涛心理 2022-02-03 阅读 31
c++

电费分段收费

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) 

举报

相关推荐

0 条评论