【NYOJ】[100]1的个数
来源:互联网 发布:地外文明知乎 编辑:程序博客网 时间:2024/05/02 00:21
可以用进制转换 然后依次数1的个数
#include<stdio.h>int main() { int T; scanf("%d",&T); while(T--) { int m,cnt=0; scanf("%d",&m); while(m) { if(m%2==1) cnt++; m/=2; } printf("%d\n",cnt); } return 0;}
不过鉴于是二进制
所以借助C语言的位运算
可以高效的求出结果
#include<stdio.h>int main() { int T; scanf("%d",&T); while(T--) { int m,cnt=0; scanf("%d",&m); while(m) { if(m&1==1) cnt++; m>>=1; } printf("%d\n",cnt); } return 0;}
标程的写法也很有意思
不是很懂
脑力有点不足了 明天再来补充吧
今天就到这了
后续第二天对于这种写法的补充:
【看书】while(m)m&=m-1,s++;的解释
#include<stdio.h>main() { int n,m,s; scanf("%d",&n); while(n--) { scanf("%d",&m); s=0; while(m)m&=m-1,s++; printf("%d\n",s); }}
题目地址:【NYOJ】[100]1的个数
0 0
- NYOJ 100 1的个数
- NYOJ 100 1的个数
- NYOJ 100 1的个数
- 1的个数 NYOJ 100
- nyoj-100-1的个数
- NYOJ 100 1的个数
- 【NYOJ】[100]1的个数
- 【NYOJ-100】 1的个数
- NYOJ - 1的个数
- nyoj- 1的个数
- NYOJ-1的个数
- NYOJ~1的个数
- nyoj 100 1个数
- nyoj.100 1的个数 20141105
- nyoj题目100:1的个数
- nyoj—1的个数
- NYOJ 514 1的个数
- nyoj-514-1的个数
- 1.5.1~1.5.3
- 2016--超越
- 非常适合用于查看linux内核代码的网站
- CreateFile,ReadFile等API详解(或者说MSDN的翻译)
- C#基础入门典型例题(3)
- 【NYOJ】[100]1的个数
- 使用boost::asio开发网络服务器
- 【学习笔记】 UFLDL-1
- Linux下NTP服务器及客户端配置
- Uva10881 Piotr's Ants
- 使用unity做的绩点计算器
- ngnix下conf通用设置方法(php fastcgi)
- CodeForces 620E New Year Tree(线段树)
- centos 7安装ifconfig