竞赛
考级
孩子们,这是函数部分,运用的是短除法,这里就不多做解释了(是个人都知道)。 主函数部分就是输入n的值,再调用函数就可以了。 最后教你们个小技巧: 相信有很多人看见后都很诧异“这段代码是什么意思呢?” 其实就是将“ll”定义为“long long”这样就可以不用写这么多啦! 当然你也可以将“str”定义为“srting”。 对你有帮助就给我点个关注吧!
这个递归简单,一遍过。
#include<bits/stdc++.h> using namespace std; char s[100000010]; int main(){ int n; cin>>n; int i=0;//s数组长度 while(n!=0){ }
#include<iostream> using namespace std; void f(long long n){ } int main(){ int a; cin>>a; f(a); return 0; }
解题思路 首先我们需要了解十进制是如何转成二进制的: 就拿题目给的6为例 第1次,6 / 2 = 3,6 % 2 == 0^ 第2次,3 / 2 = 1,3 % 2 == 1 | 第3次,1 / 2 = 1,1 % 2 == 1 | 就像箭头所示,最后的余数逆反取余 所以十进制的6转换后就是110 代码
n = int(input()) print(bin(n)[2:])
#include <bits/stdc++.h> using namespace std; void baron(long long uu){ int a=uu%2; if(uu==0) return; baron(uu/2); if(a>=10){ cout<<char(a-10+'A'); }else{ cout<<a; } } int main() { long long m; cin>>m; baron(m); return 0; }
共32条
提交答案之后,这里将显示提交结果~