标签:style blog color io 使用 for 数据 sp div
给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。如24:2*2=22(第一次乘),22*22=24(第二次乘),所以最少共2次;
3234
122
#include<stdio.h>
int main()
{
int m,n,a[16],i;
for(i=0,m=1;i<=15;i++,m*=2)
a[i]=m;
scanf("%d",&m);
while(m--)
{
int sum;
scanf("%d",&n);
i=16;
while(i--)
{
if(n>=a[i])
{
n-=a[i];
sum=i;
break;
}
}
while(n!=0)
{
i=16;
while(i--)
{
if(n>=a[i])
{
n-=a[i];
sum++;
break;
}
}
}
printf("%d\n",sum);
}
}
标签:style blog color io 使用 for 数据 sp div
原文地址:http://blog.csdn.net/u013238646/article/details/39826895