1.5 输出整数N的二进制1的个数(递归)

    public static int getOne(int n){
        if(n <2){
            return n;
        }else{
            return ((n % 2)+getOne(n/2));
        }
    }
时间: 2024-10-01 00:05:22

1.5 输出整数N的二进制1的个数(递归)的相关文章

Formiko总结整数十进制转换二进制原理

引子: 为什么十进制转二进制的“辗转相除记录余数倒序输出”的算法是正确的?这个问题陪伴了Formiko半年. 实践: 实践一:把十进制数100转换成二进制数的图   上图和和下图唯一的区别在最后一位上,只是除到0和除到1的区别,但在算法本身的理解上应该不会有本质的区别. 实践二: 十进制数100或许太大,不便于一目了然的验证.试一试十进制数1,2,3. 思考: 以上算法的思路是“对原数反复进行除法得到余数,最后将余数倒序输出”.但是看到如图对十进制数100,1,2,3的操作,都看不出原思路的由来

1006. 换个格式输出整数

1006. 换个格式输出整数 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个“百”.3个“十”.以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000). 输出格式:每个测试用例的输出占一

PAT (Basic Level) Practise 1006. 换个格式输出整数

1006. 换个格式输出整数 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个“百”.3个“十”.以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000). 输出格式:每个测试用例的输出占一行,用规定

[C/C++]_[输出内存数据的二进制和十六进制的字符串表示]

场景: 1. 在读取文件或内存时,有时候需要输出那段内存的十六或二进制表示进行分析. 2. 标准的printf没有显示二进制的,而%x显示有最大上限,就是8字节,超过8字节就不行了. test_binary_hex.cpp #include <stdlib.h> #include <string.h> #include <stdio.h> #include <assert.h> #include <stdint.h> #include <i

PAT 乙级 水题1006. 换个格式输出整数 (15)

1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int n; 6 cin>>n; 7 int g=0,s=0,b=0; 8 9 10 for(int i=0;i<10;i++){ 11 for(int j=0;j<10;j++){ 12 for(int k=0;k<10;k++){ 13 if(k==n){ 14 g=k; 15 break; 16 } 17 else if(j*10+k

PAT 1006 换个格式输出整数

1006. 换个格式输出整数 (15) 让我们用字母B来表示"百".字母S表示"十",用"12...n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个"百".3个"十".以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000). 输出格式:每个测试用例的输出占一行,用规定的格式输出n. 输入样例

1006 换个格式输出整数 (15)(15 分)

1006 换个格式输出整数 (15)(15 分) 让我们用字母B来表示"百".字母S表示"十",用"12...n"来表示个位数字n(&lt10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个"百".3个"十".以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(&lt1000). 输出格式:每个测试用例的输出占一行,用规定的

PAT乙级1006.换个格式输出整数(15)

1006. 换个格式输出整数 (15)让我们用字母B来表示“百”.字母S表示“十”,用“12…n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个“百”.3个“十”.以及个位的4.输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000).输出格式:每个测试用例的输出占一行,用规定的格式输出n.输入样例1:234输出样例1:BBSSS1234输入样例2:23输出样例2:SS123 #include<iost

Python如何将整数转化成二进制字符串

Python 如何将整数转化成二进制字符串 1.你可以自己写函数采用 %2 的方式来算. >>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2) >>> binary(5) '101' >>> 2.采用 python 自带了方法 bin 函数,比如 bin(12345) 回返回字符串 '0b11000000111001', 这个时候在把0b去掉即可: >>> bin(