现在的位置: 首页 > 综合 > 正文

最少乘法次数

2018年04月21日 ⁄ 综合 ⁄ 共 295字 ⁄ 字号 评论关闭

类似快速幂的思想。2进制

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int main(){
    int m;
    scanf("%d",&m);
    while(m--){
        int n,cnt = 0;
        int num[1000];
        memset(num,0,sizeof(num));
        scanf("%d",&n);
        while(n){
            num[cnt++] = n % 2;
            n /= 2;
        }
        int s = cnt - 1;
        for(int i = cnt - 2;i >= 0;i--){
            if(num[i]) s++;
        }
        printf("%d\n",s);
    }
    return 0;
}
【上篇】
【下篇】

抱歉!评论已关闭.