码迷,mamicode.com
首页 > 编程语言 > 详细

C语言之基本算法29—整数任意次方的最后三位数(精度问题)

时间:2015-07-12 15:47:00      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:c语言   精度问题   避免溢出   整数任意次幂的后三位数   

//精度问题!
/*
==================================================================
题目:
求整数的任意次方最后三位数!347的72次方最后三位数是241.
==================================================================
*/
#include<stdio.h>
#include<iomanip>
main()
{
int x,y,p,n;
printf("说明:底数为x,幂为y,请输入:\n");
printf("x=");
scanf("%d",&x);
printf("y=");
scanf("%d",&y);
p=1;
for(n=1;n<=y;n++)
{
p=p*x%1000; //关键是掌握这句话的意思,最后三位永远只与其乘数的最后三位相关,故只保留最后三位,以免溢出!
printf("%3d:  p=%3d \n",n,p);//若不需要输出过程,则不需要此行代码
}
printf("%d的%d次方的最后三位是:%3d\n",x,y,p);
}




/*
====================================================================
评:
还是随机数的应用,只不过这里是用来处理比较长的数,计算机会用这种办法
自己处理精度!就是每次只保留精度相关的部分。
=====================================================================
*/





版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言之基本算法29—整数任意次方的最后三位数(精度问题)

标签:c语言   精度问题   避免溢出   整数任意次幂的后三位数   

原文地址:http://blog.csdn.net/lzx19901012/article/details/46850045

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!