经典题目

1.返回一个数的二进制中1的数量

int fun(int x)
{
    int cnt=0;
    while(x)
    {
          cnt++;
          x=x&(x-1);
    }
    return cnt;
}

2.用一个表达式判断一个数是否是2的N次方。

2,4,8,16转换成二进制数就是10,100,1000,10000,如果x-1后与x做与运算,答案如果是0的话就满足条件

!(x&(x-1))

3.求平均值

int f(int x,int y)
{
    return ((x&y)+(x^y)>>1)
}

x&y是取相同位与,这个结构就是x和y相同位的一半。x^y是取x和y的不同位,右移相当于除以2,所以这个函数的功能是取x和y的和的平均值

4.求两个数中较大的那个

有两个变量a和b,不用if,?:,switch或是其他的判断语句,找出两个数中较大的那个

(a+b+abs(a-b))/2

5.不能排序求三个数的中间数

inline int max(int a,int b){return a>=b?a:b;}
inline int min(int a,int b){return a<=b?a:b;}
inline int mid(int a,int b,int c)
{
    int t1=max(a,b);
    int t2=max(b,c);
    int t3=max(a,c);
    return min(t1,min(t2,t3));
}

6.不使用中间变量交换两个数

a=a^b;
b=a^b;
a=a^b;


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python经典题目是指一些经常被用来测试Python编程能力和理解的问题。这些题目可以帮助提高编程技巧和解决问题的能力。以下是一些常见的Python经典题目: 1. 斐波那契数列:编写一个函数,接受一个整数参数n,返回斐波那契数列的第n个数。斐波那契数列的定义是前两个数为0和1,后面的每个数都是前两个数的和。 2. 判断回文数:编写一个函数,判断一个给定的字符串是否是回文数。回文数是指正向和反向的拼写都是一样的字符串。 3. 找出列表中的最大值和最小值:编写一个函数,接受一个整数列表作为参数,返回列表中的最大值和最小值。 4. 翻转字符串:编写一个函数,接受一个字符串作为参数,返回反转后的字符串。 5. 判断素数:编写一个函数,判断一个给定的整数是否是素数。素数是指只能被1和自身整除的正整数。 这些题目可以帮助你提高对Python语言的了解,熟练运用Python的基本语法和常用的函数。你可以通过不断练习和尝试解决这些经典题目来提升自己的编程能力。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [值得苦练的100道Python经典习题,(附详细答案)建议收藏!](https://blog.csdn.net/m0_66958971/article/details/131068790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [值得收藏的25道Python练手题(附详细答案)](https://blog.csdn.net/m0_59235245/article/details/131185493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值