NYOJ 46(最小乘法次数)

简介: #include int My_strtol(int m) { int num[20];int i=0,j,count=0; while(m>0) { num[i++]=m%2; m/=2; } for(j=0;j0) { num[i++]=m%2;...
#include<stdio.h>
int My_strtol(int m)
{
	int num[20];int i=0,j,count=0;
	while(m>0)
	{
		num[i++]=m%2;
		m/=2;
	}
	for(j=0;j<i;j++)
		if(1==num[j]&1)
			count++;
		return count;
}
int My_Count(int m)
{
	int num[20];int i=0;
	while(m>0)
	{
		num[i++]=m%2;
		m/=2;
	}
	return i;
}

int main()
{
	int m,n,ans1,ans2;
	scanf("%d",&m);
	while(m--)
	{
		scanf("%d",&n);
		ans1=My_strtol(n);
		ans2=My_Count(n);
		printf("%d\n",ans1+ans2-2);
	}
	return 0;
}

  

目录
相关文章
|
7月前
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
|
7月前
|
算法 测试技术 C++
【位运算 贪心】2835. 使子序列的和等于目标的最少操作次数
【位运算 贪心】2835. 使子序列的和等于目标的最少操作次数
【位运算 贪心】2835. 使子序列的和等于目标的最少操作次数
|
7月前
|
算法 测试技术 C++
【动态规划】【C++算法】801. 使序列递增的最小交换次数
【动态规划】【C++算法】801. 使序列递增的最小交换次数
|
Cloud Native Go
801. 使序列递增的最小交换次数:动态规划
这是 力扣上的 801. 使序列递增的最小交换次数,难度为 困难。
102 1
求整数序列中出现次数最多的数
求整数序列中出现次数最多的数
175 0
LeetCode 1318. 或运算的最小翻转次数
LeetCode 1318. 或运算的最小翻转次数
一道题,最小操作次数使数组元素相等引发的思考
给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。
120 0
一道题,最小操作次数使数组元素相等引发的思考
统计正数和负数的个数然后计算这些数的平均值(循环、数组解法)
统计正数和负数的个数然后计算这些数的平均值(循环、数组解法)
212 0