列表

详情


NC232027. 「Nhk R1 A」Initiale Dorimu

描述

给定一个整数 d。您需要输出一组正整数 a,b,c,满足 ,满足 。其中  表示按位异或, 表示按位或。

如果对按位异或和按位或有疑问,请阅读百度百科-位运算条目的解释。

输入描述

一行一个整数 

输出描述

一行三个正整数 a,b,c,或 -1

示例1

输入:

11

输出:

9 3 10

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 4ms, 内存消耗: 448K, 提交时间: 2022-01-16 11:45:16

#include<bits/stdc++.h>
int main()
{
	int d;
	scanf("%d",&d);
	int b=d&-d;
	if(b==d)
		puts("-1");
	else
		printf("%d %d %d\n",d,b,d-b);
}

Python3 解法, 执行用时: 37ms, 内存消耗: 4648K, 提交时间: 2022-01-01 01:18:45

d = int(input())
lowbit = lambda x: x & (-x)
a = lowbit(d)
if a == d:
    print(-1)
else:
    c = d ^ a
    print(a,d,c)

pypy3 解法, 执行用时: 109ms, 内存消耗: 25840K, 提交时间: 2021-12-30 19:09:08

d = int(input())
a = d & -d
if not d ^ a:
    print(-1)
else:
    print(a, d ^ a, d)

上一题