Revival's odd

Revival's odds

时限:1秒内存:32M
通过:10提交:27

 

Everyone should be very familiar with Yang Hui Triangle, Yang Hui Triangle is shown as follows:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
......................................
Its general form can be summarized as follows:
  • the n-th line contains n +1 values (begin from line 0)
  • for the k-th value in the n-th line(n>=1)
    • When k = 1 or k = n +1 its value is 1
    • When k! = 1 and k! = n +1 its value is the sum of the k-1th value in the n-1-th line and the k-th value in the n-1-th line
Now, your question is coming, oaiei would like to know the parity of the k-th value in the n-th line and he would like to know the number of odd in the n-th line.

Input

 

There are multiply tests. For each test, there are two integer n(1<=n<=10^9) and k(1<=k<=n+1).

 

Output

 

For each test, you should output two integer x and y, separating by a blank space, x denotes the parity of the k-th value in the n-th line, if the value is odd, you should output “1”, otherwise output “0”. y denotes the number of odd in the n-th line.

 

Sample Input

1 1
2 2

Sample Output

1 2
0 2
 
#include<iostream>
using namespace std;
int odd(int n,int k)
{
    return k==(n&k);
}
int main()
{
 int k;
 long n,sum;
 while(cin>>n>>k)
 { 
  printf("%d ",odd(n,k-1));
      sum=1;
  while(n>=2)
  {
   sum*=n%2+1;
   n=n/2;
  }
  if(n>0)
   sum*=n+1;
  printf("%ld/n",sum);

 

 }   return 0; }

 

好险,时间居然是0.98s,差一点点,呵呵

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值