求一个整数任意次方的最后三位数.用C++来编的,有谁能帮帮我?

2024-12-31 02:33:59
推荐回答(5个)
回答1:

只要将求出的大于1000的数只取百十个位就好了,然后再进行计算,每次都如此,就不会出现溢出,因为千位以上对最后三位没影响,程序如下
int lastthr(int num,int n) //num的n次方
{
int thr,tmp;
tmp=num%1000; //对1000取余,得最后三位
thr=tmp;
while(--n)
{
thr*=tmp;
thr%=1000;
}
return thr;
}

对于num,n均为正情况,以上程序在Dev-C++通过。

回答2:

#include
using namespace std;

void main()
{
const int N=10; //N次方
int i=0;
int num=25; //整数num
int sum=1;
for(i=0;i {
sum*=num;
}
printf("%d\n",sum%1000); //输出最后三位数
}

回答3:

long abc(long x ,long y )
{
long u =0;

if(y>=3)
u=x%10
else
u=x%1000;

for(long i=0;i u*=x;
return u%1000;
}

回答4:

#include
using
namespace
std;
void
main()
{
const
int
N=10;
//N次方
int
i=0;
int
num=25;
//整数num
int
sum=1;
for(i=0;i{
sum*=num;
}
printf("%d\n",sum%1000);
//输出最后三位数
}

回答5:

int a(int b ,int c )
{
int d = b;
while( --c > 0 )
{
d *= b;
d &= 0xfff;
}
return d;
}