mmsz.net
当前位置:首页 >> 求一个整数任意次方的最后三位数.用C++来编的,有谁... >>

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

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

#include using namespace std; void main() { int x,a,y; cin>>x>>a; y=1; for ( int i=0;i

#include main(){ int a,n,v=1; scanf("%d%d",&a,&n); for(a%=1000;n;n>>=1,a=a*a%1000)if(n&1)v=v*a%1000; printf("%03d",v); }

#include int main(){ int x, y, ans = 1, i; scanf ("%d%d", &x, &y); for(i = 0; i < y; ++i){ ans *= x; ans %= 1000; } printf ("%d\n", ans); return 0;}以上代码仅作参考

#include void main(){ int num, n,i,pn=1; printf("input num: "); scanf("%d", &num ); printf("input n: "); scanf("%d", &n ); for( i=0;i

刚才没考虑0次方,稍微修改1下。 #include void main() { int i,x,a; long r=1; printf("输入1个整数:"); scanf("%d",&x); printf("输入乘方数:"); scanf("%d",&a); for(i=1;i

任意数的任意次方想通过心算来完成,我觉得不太可能,用C++语言编程都是一个难度很大的工程,除非你有无法解释的数学天赋,否则无法实现。

#include #include int main() { int x=27; printf("%f",pow(x,1/3.0)); return 0; } double pow(double x,double n) 是math.h里一函数,求x的n次幂 x必须>0, 立方根就是1/3次幂了 但这里要用3.0或1.0/3,否则成了整除结果为1

进制转十进制,十进制转二进制的算法十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是结果 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 ...

网站首页 | 网站地图
All rights reserved Powered by www.mmsz.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com