资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

一个关于高精度的小技巧

  • 高精度问题,对于初学者来说显得十分不友好,当初的我也是十分头疼,现在回过头来看一些问题,发现自己也开始有自己的思维去思考这类问题;
  • 这是一个简单题 -- 不是我说的,别人定义的是入门;
  • 详情请看 -- 点我就知道
  • 下面是我的个人解答:勉强AC
  • 大概思路:
    • 首先看题目所给问题的范围,范围太大,按照常规方法先计算出次幂再求解难度很大--本题不知道能不能行,没测试过;
    • 考虑我们的乘法计算规则--从低位到高位,向前进位;
    • 利用这个特点,题目要求的是后三位,刚好我们可以省略掉高位数据的保留;
      • 实现:ans -= ans/1000*1000;
      • 这一步的前提是前面我们申请的数据类型是整型;
    • 循环完成“后三位的阶乘”
#include 
#include 
using namespace std;
int main() {
	int a,b,ans = 1;
	cin>>a>>b;
	for(int i = 0; i < b; i++) {
		ans *= a;
		if(ans >= 1000){
			ans -= ans/1000*1000;
		}
	}
	cout<

分享名称:一个关于高精度的小技巧
网站URL:http://www.cdkjz.cn/article/dsogosg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220