NC54788. 小民与C语言
描述
long long n, a, b, i; for(a = 1, i = 1; i <= n; ++ i) a &= i; for(b = 1, i = 1; i <= n; ++ i) b |= i;
输入描述
第一行包含一个整数n,含义见题
输出描述
输出一行两个整数,表示a和b的值
示例1
输入:
1
输出:
1 1
C(clang 3.9) 解法, 执行用时: 3ms, 内存消耗: 368K, 提交时间: 2019-12-02 21:29:52
#include<stdio.h> int main() { long long n, a, b, i,c=1,sum=0; scanf("%lld",&n); if(n!=1) a=0; else a=1; while(sum<n) { sum+=c; c*=2; } b=sum; printf("%lld %lld",a,b); return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 484K, 提交时间: 2020-02-16 17:28:54
#include<bits/stdc++.h> using namespace std; int main() { long long b,n,i,a=1; cin>>n; if(n>1) a=0; for(b=1,i=1;i<=n;i=b+1) b|=i; cout<<a<<" "<<b; return 0; }
Python3 解法, 执行用时: 43ms, 内存消耗: 4716K, 提交时间: 2022-01-22 18:18:50
n,b=int(input()),1 while b<n:b+=b+1 print(int(n == 1),b)