判断C(n,k)的奇偶性 soj2668

简介:
C(n,k)

 

Description

求组合数 C ( n , k) 的奇偶性

Input

文件是多case的,每行输入一个 n (1<=n<=10^9)和 k(0<=k<=n) ,当 n 等于 0 且 k 等于 0 时输入结束

Output

对于每一个case,输出一行,为组合数 C ( n , k) 的奇偶性,奇输出1,偶输出0

Sample Input

2 0 2 1 0 0

Sample Output

1 0

 

 题意:求C(n,k)的奇偶性。显然把C(n,k)的值直接求出来进行判断是不可行的。

 由于C(n,k)=n!/k!*(n-k)!,要判断奇偶性,即比较分子与分母含有因子2的个数,因此就转化为求n!中含有因子2的个数。

 

复制代码

  
  
#include < iostream >
using namespace std;

int count( int n)
{
int num = 0 ;
while (n)
{
num
+= n / 2 ;
n
= n / 2 ;
}
return num;
}

int main( void )
{
int n,k;
while (scanf( " %d%d " , & n, & k) == 2 &&! (n == 0 && k == 0 ))
{
int a,b,c;
a
= count(n);
b
= count(k);
c
= count(n - k);
if (a > b + c)
printf(
" 0\n " );
else
printf(
" 1\n " );
}
return 0 ;
}
复制代码
本文转载自海 子博客园博客,原文链接: http://www.cnblogs.com/dolphin0520/archive/2011/04/12/2014026.html 如需转载自行联系原作者
相关文章
|
存储 编解码 Linux
FFmpeg+SDL播放器开发实践:解析、解码、渲染全流程详解
FFmpeg+SDL播放器开发实践:解析、解码、渲染全流程详解
|
Java 关系型数据库 MySQL
创建一个SpringBoot项目,实现简单的CRUD功能和分页查询
【9月更文挑战第6天】该内容介绍如何使用 Spring Boot 实现具备 CRUD 功能及分页查询的项目。首先通过 Spring Initializr 创建项目并选择所需依赖;其次配置数据库连接,并创建实体类与数据访问层;接着构建服务层处理业务逻辑;最后创建控制器处理 HTTP 请求。分页查询可通过添加 URL 参数实现。
455 7
|
消息中间件 Java 测试技术
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
这篇文章是关于如何在SpringBoot应用中整合RabbitMQ的消息中间件。内容包括了在SpringBoot项目中添加RabbitMQ的依赖、配置文件设置、启动类注解,以及如何通过单元测试来创建交换器、队列、绑定,并发送和接收消息。文章还介绍了如何配置消息转换器以支持对象的序列化和反序列化,以及如何使用注解`@RabbitListener`来接收消息。
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
|
XML API 数据库
Android权限
Android权限 【5月更文挑战第3天】
277 0
|
IDE Java Maven
【Java】已解决:java.lang.NoSuchMethodError异常
【Java】已解决:java.lang.NoSuchMethodError异常
6352 0
window.addEventListener注册滚动scroll事件不生效
window.addEventListener注册滚动scroll事件不生效
|
存储 运维 负载均衡
网络运维主要做什么,日常工作有哪些?
网络运维主要做什么,日常工作有哪些?
2626 0
|
Nacos
MSE nacos读取不到nacos配置
MSE nacos读取不到nacos配置
147 0
|
数据可视化 JavaScript 算法
Echarts可视化图表的使用
Echarts可视化图表的使用
145 0
|
安全 PHP
CTF-PHP常见考点实例小结
CTF-PHP常见考点实例小结
CTF-PHP常见考点实例小结