精华内容
下载资源
问答
  • 32系统sizeof(int)=4,也就是32二进制,内存中是以32二进制补码形式存放这个数的,int为符号,最前面一个数字是符号,0表示正数,1表示负数。 也就是31存储这个数的大小。 正数补码就是他...

    应该也是我们班的,比我学的好多了啊!!!

     

    32位系统sizeof(int)=4,也就是有32位二进制数,内存中是以32位二进制补码的形式存放这个数的,int为有符号数,最前面一个数字是符号位,0表示正数,1表示负数。

    也就是31位存储这个数的大小。

    正数的补码就是他的原码本身,也就是num%2  ,余数倒叙排列,不够32位的前面补0,

    例如,

    00000000 00000000 00000000 00000001   表示1,

    00000000 00000000 00000011 00000000   表示的是2的9次方+2的8次方=768。

    最大int 

    01111111 11111111 11111111 11111111   表示2的31次方-1=2147483647

    负数的补码是他对应正数的原码的反码,再+1得到的。

    如-1,对应的1的原码 

    00000000 00000000 00000000 00000001

    1的反码    

    11111111 11111111 11111111 11111110

    反码加1为           

    11111111 11111111 11111111 11111111   这也就是内存中-1的存储方式。

    int表示的最大正整数2147483647对应的负数-2147483647的二进制为

    2147483647原码        

    01111111 11111111 11111111 11111111

     反码    

    10000000 00000000 00000000 00000000

    反码+1       

    10000000 00000000 00000000 00000001

    那么int表示的最小的负数也就是 

    10000000 00000000 00000000 00000000  也就是 -2147483648

    知道原理了如何打印一个数的32位二进制码呢?

    1,先用原始的取余倒序排列,设要打印的数位num,

    对于正数,num%2的值也就是第32位,(num/2)%2取余也就是第31位,((num/2)/2)%2也就是第30位……

    定义一个有32个元素的数组a[32]来存放余数,用一个for循环来将余数赋给数组,

    for (i=0;i<32;i++ )

    {

    a[i]=num%2;

    num/=2;

    }

    a[0]存放第32位,a[1]存放第31位 ,  a[2]存放第30位……   打印只要用下面语句倒序打印数组a,就可以了。a[31]a[30].......a[1]a[0]

    for (j=31;j>=0;j--)

    printf ( "%d",a[j] );

    对于负数,他的存储方式也可以看做是,对应正数减去1之后的反码,如-1对应的正数1 减去1也就是0,

    0的原码 

    00000000 00000000 00000000 00000000

       反码    

    11111111 11111111 11111111 11111111  也就是-1的存储方式

    if(num<0)

    {

    num = -num-1;

    for (i=31;i>=0;i-- )

    {

    a[i]=num%2;

    num/=2;

    }

    }

    这里我改变了一下赋值顺序,先将正整数第32位赋给a[31]……也就是a[0]存放第一位,打印的时候顺序打印数组就可以了(对于正数)。我们最终是要打印负数的二进制表示,所以还要取反,可以用下面的语句。

    for (j=0;j<32;j++)

    b[i] = (a[i]+1)%2;

    那么,顺序打印数组b就可以了。

    以下是这种方法的实验图:




    2 用位操作打印。

    用位的左移右移,我们可以将其他位都置0,

    如  10100000 00001100 00000000 00000000我们左移2位再右移31位,就可以直接得到

          00000000 00000000 00000000 00000001       也就是上面的第2个1移到了最后一位,可以得到第30位的值

    每一位都如此操作,我们就可以得到每一位的值0或1,依次打印即可。

     但是对于一个有符号的数,位的操作会使符号一起移动,但是如果符号位为1,你右移之后,符号位会自动补1,

    如10000000 00001111 11110000 00001111  ,我们为了得到第1位的1,直接右移31位,我们预想的结果是

        00000000 00000000 00000000 00000001 ,但实际上,由于符号位为1,每次右移符号位都会自动补1,右移1位

        11000000 00000000 00000000 00000000,右移31位之后会变成

        11111111 11111111 11111111 11111111。

    为了得到想要的结果,我们可以把int赋值给一个unsigned int,这样,就可以用这个方法了。



    可以看到,我用了3种位操作的方法来打印,第3种是我上面讲的,

    第2种也是转换为无符号数,进行了一次位操作;

    第1种是在不转换为无符号数的情况下,进行位操作打印。结果都是正确的。


    展开全文
  • 有一个奇特的四位数,组成它的所有数字(1-9)都不相同且没有0,如果把此数的4个数字的次序反过来写,则所得的数比原数少8532,求这个四位数?先设:按照次序这四个数字为a(千位)、b(百位)、c(十位)、d(个位)两式大小...

    有一个奇特的四位数,组成它的所有数字(1-9)都不相同且没有0,如果把此数的4个数字的次序反过来写,则所得的数比原数少8532,求这个四位数?

    da5b9edc08ea254ae2aa3b769e3f341d.png

    先设:按照次序这四个数字为a(千位)、b(百位)、c(十位)、d(个位)

    4cf7b870d675e7829d15e276c1191924.png

    两式大小为

    这个四位数的大小为1000a+100b+10c+d(记作1式)

    将次序反过来写大小变为1000d+100c+10b+a(记作2式)

    c363c4e8fd3d203e026d969c0e47a8e3.png

    求出a、d

    然后用1式-2式=1000(a-d)+100(b-c)+10(c-b)+(d-a)=8532

    因为a≤9,d≥1,且两式之差结果千位为8(8532)

    因此只有a取最大,d取最小,两式之差结果千位才能为8(不存在借位,借位的话之差会小于8)

    所以只能是a=9,d=1

    826b38e9da9a92c61aa08539535ee928.png

    求出b、c

    然后就有:8000+100(b-c)+10(c-b) -8=8532

    整理化简:90b-90c=540

    即b-c=6,那么b和c分别对应多少时,之差为6呢

    有三组,分别是:

    9-3(舍去,a已经等于9了)

    8-2(成立)

    7-1(舍去,d已经等于1了)

    因此只能是b=8,c=2

    c70d809a81bec096046513ba3a15fede.png

    最终结果

    综上:a=9,b=8,c=2,d=1,即这个四位数为9821


    点击参考视频

    #数字推理##逻辑推理##数学#

    展开全文
  • 将两位十进制相减,要求被减数,减数均以 ASCII码形式按顺序存放在以DATA1和DATA2为首5内存单元中(低位在前),结果送回DATA1处。 1.这程序就是实现两位数相减功能,经过查阅资料分析得到,两种...

    将两个多位十进制数相减,要求被减数,减数均以 ASCII码形式按顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
    1.这个程序就是实现两个多位数相减功能,经过查阅资料分析得到,有两种方法有一位位相减和合成一个整体后再相减。一位位相减要利用sbb带借位的减法实现功能,这样计算得到的结果就是正确的了。其次这种方法,要进行分类讨论,比较被减数和减数的大小才能得到正确的结果。如果减数比被减数大的话要先显示一个负号,再输出结果。
    2.合成一个整体麻烦的难点在于要合成一个数,利用汇编语言合成一个数的思路其实是很类似的,只要学会一个其余都问题不大了。
    我写了三种,第一种最简单,无符号数,不输入。

    DATAS SEGMENT
        ;此处输入数据段代码 
        A db 4 dup(?)
        length_A equ $-A
        B db 4 dup(?)
        buf1 db '-','$'
        buf2 db '=','$'
        buf3 db 'Please input two number:',0dh,0ah,'$'
        buf4 db 'A=','$'
        buf5 db 'B=','$'
    DATAS ENDS
    
    STACKS SEGMENT
        ;此处输入堆栈段代码
        dw 50 dup(?)
        top label byte
    STACKS ENDS
    
    CODES SEGMENT
        ASSUME CS:CODES,DS:DATAS,SS:STACKS
    START:
    	mov ax,stacks
    	mov ss,ax
    	mov sp,offset top
        MOV AX,DATAS
        MOV DS,AX
        ;此处输入代码段代码
        ;A部分
    	;显示A中的数据
    	lea dx,buf4
    	mov ah,09h
    	int 21h
    	mov cx,length_A
    	lea si,A
    	call input
    	call hui_che
    	lea dx,buf5
    	mov ah,09h
    	int 21h
    	mov cx,length_A
    	
    	lea si,B
    	call input
    	call hui_che
    	mov cx,length_A
    	lea di,A
    	
    Loop_show_A:
    	mov al,[di]
    	call show_ascii
    	inc di
    	loop Loop_show_A
    	lea dx,buf1
    	mov ah,09h
    	int 21h
    	;B部分
    	;显示B中的数据
    	mov cx,length_A
    	lea di,B
    	
    Loop_show_B:
    	mov al,[di]
    	call show_ascii
    	inc di
    	loop Loop_show_B
    	lea dx,buf2
    	mov ah,09h
    	int 21h
    	
    	;减法运算部分
    	mov si,offset A
    	mov di,offset B	
    	mov cx,length_A
    compare:;比较a和b哪一个数据更大
    	mov al,[si]
    	cmp al,[di]
    	ja a_b;大于的话直接比较
    	jb b_a;小于的话b-a
    	je keep_compare;继续比较下一位
    keep_compare:
    	dec cx
    	inc si
    	inc di
    	jmp compare
    b_a:
    	mov dl,'-';显示负号
    	mov ah,02h
    	int 21h
    	;应该是b-a
    	call sub_B_A
    	mov si,offset A
    	mov cx,length_A
    	jmp Loop_show_result
    a_b:
    	call sub_A_B
    	mov si,offset A
    	mov cx,length_A	
    	
    Loop_show_result:
    	mov al,[si]
    	call show_ascii
    	inc si
    	loop Loop_show_result
    	;结束部分
    	jmp end_pro
    	
    input proc near
    input_loop:
    	mov ah,01h
    	int 21h
    	mov [si],al
    	inc si
    	loop input_loop
    exit:
    	ret
    input endp
    	
    show_ascii proc near;显示ascii码
    	mov dl,al
    	mov ah,02h
    	int 21h
    	ret
    show_ascii endp	
    
    sub_A_B proc near
    	mov bx,length_A
    su1:
    	sub byte ptr[si+bx-1],30h;最后一位数据,转换为十进制
    	sub byte ptr[di+bx-1],30h
    	dec bx
    	jnz su1
    	mov si,offset A
    	add si,length_A-1
    	mov di,offset B	
    	add di,length_A-1
    	mov cx,length_A;包括进位一共有位数
    	clc
    su2:
    	mov al,[si]
    	mov bl,[di]
    	sbb al,bl;带借位相减
    	aas;非压缩BCD码格式的调整
    	mov [si],al;结果被送到di作为被减数被减数区域
    	dec si
    	dec di;指向下一位
    	loop su2;循环
    	mov bx,length_A
    	mov si,offset A
    	mov di,offset B	
    su3:
    	add byte ptr [si+bx-1],30h
    	;add byte ptr [di+bx-1],30h
    	dec bx
    	jnz su3
    	ret
    sub_A_B endp
    
    sub_B_A proc near
    	mov bx,length_A
    su1:
    	sub byte ptr[si+bx-1],30h;最后一位数据,转换为十进制
    	sub byte ptr[di+bx-1],30h
    	dec bx
    	jnz su1
    	mov si,offset B
    	add si,length_A-1
    	mov di,offset A	
    	add di,length_A-1
    	mov cx,length_A;包括进位一共有位数
    	clc
    su2:
    	mov al,[si]
    	mov bl,[di]
    	sbb al,bl;带借位相减
    	aas;非压缩BCD码格式的调整
    	mov [di],al;结果被送到被减数区域
    	dec si
    	dec di;指向下一位
    	loop su2;循环
    	mov bx,length_A
    	mov si,offset B
    	mov di,offset A	
    su3:
    	add byte ptr [di+bx-1],30h
    	;add byte ptr [di+bx-1],30h
    	dec bx
    	jnz su3
    	ret
    sub_B_A endp
    
    hui_che proc near
    	mov dl,0ah
    	mov ah,02h
    	int 21h
    	ret
    hui_che endp
    
    end_pro:
        MOV AH,4CH
        INT 21H
    CODES ENDS
        END START
    

    在这里插入图片描述
    第二种和第一种唯一的区别是加入了输入:

    DATAS SEGMENT
        ;此处输入数据段代码 
        A db 33h,38h,39h,36h;3896
        length_A equ $-A
        B db 31h,32h,33h,35h;1235
        buf1 db '-','$'
        buf2 db '=','$'
    DATAS ENDS
    
    STACKS SEGMENT
        ;此处输入堆栈段代码
        dw 50 dup(?)
        top label byte
    STACKS ENDS
    
    CODES SEGMENT
        ASSUME CS:CODES,DS:DATAS,SS:STACKS
    START:
    	mov ax,stacks
    	mov ss,ax
    	mov sp,offset top
        MOV AX,DATAS
        MOV DS,AX
        ;此处输入代码段代码
        ;A部分
    	;显示A中的数据
    	mov cx,length_A
    	lea di,A
    	
    Loop_show_A:
    	mov al,[di]
    	call show_ascii
    	inc di
    	loop Loop_show_A
    	lea dx,buf1
    	mov ah,09h
    	int 21h
    	;B部分
    	;显示B中的数据
    	mov cx,length_A
    	lea di,B
    	
    Loop_show_B:
    	mov al,[di]
    	call show_ascii
    	inc di
    	loop Loop_show_B
    	lea dx,buf2
    	mov ah,09h
    	int 21h
    	
    	;减法运算部分
    	mov si,offset A
    	mov di,offset B	
    	mov cx,length_A
    compare:;比较a和b哪一个数据更大
    	mov al,[si]
    	cmp al,[di]
    	jg a_b;大于的话直接比较
    	jb b_a;小于的话b-a
    	je keep_compare;继续比较下一位
    keep_compare:
    	dec cx
    	inc si
    	inc di
    	jmp compare
    b_a:
    	mov dl,'-';显示负号
    	mov ah,02h
    	int 21h
    	;应该是b-a
    	call sub_B_A
    	mov si,offset A
    	mov cx,length_A
    	jmp Loop_show_result
    a_b:
    	call sub_A_B
    	mov si,offset A
    	mov cx,length_A	
    	
    Loop_show_result:
    	mov al,[si]
    	call show_ascii
    	inc si
    	loop Loop_show_result
    	;结束部分
    	jmp end_pro
    	
    show_ascii proc near;显示ascii码
    	mov dl,al
    	mov ah,02h
    	int 21h
    	ret
    show_ascii endp	
    
    sub_A_B proc near
    	mov bx,length_A
    su1:
    	sub byte ptr[si+bx-1],30h;最后一位数据,转换为十进制
    	sub byte ptr[di+bx-1],30h
    	dec bx
    	jnz su1
    	mov si,offset A
    	add si,length_A-1
    	mov di,offset B	
    	add di,length_A-1
    	mov cx,length_A;包括进位一共有位数
    	clc
    su2:
    	mov al,[si]
    	mov bl,[di]
    	sbb al,bl;带借位相减
    	aas;非压缩BCD码格式的调整
    	mov [si],al;结果被送到di作为被减数被减数区域
    	dec si
    	dec di;指向下一位
    	loop su2;循环
    	mov bx,length_A
    	mov si,offset A
    	mov di,offset B	
    su3:
    	add byte ptr [si+bx-1],30h
    	;add byte ptr [di+bx-1],30h
    	dec bx
    	jnz su3
    	ret
    sub_A_B endp
    
    sub_B_A proc near
    	mov bx,length_A
    su1:
    	sub byte ptr[si+bx-1],30h;最后一位数据,转换为十进制
    	sub byte ptr[di+bx-1],30h
    	dec bx
    	jnz su1
    	mov si,offset B
    	add si,length_A-1
    	mov di,offset A	
    	add di,length_A-1
    	mov cx,length_A;包括进位一共有位数
    	clc
    su2:
    	mov al,[si]
    	mov bl,[di]
    	sbb al,bl;带借位相减
    	aas;非压缩BCD码格式的调整
    	mov [di],al;结果被送到被减数区域
    	dec si
    	dec di;指向下一位
    	loop su2;循环
    	mov bx,length_A
    	mov si,offset B
    	mov di,offset A	
    su3:
    	add byte ptr [di+bx-1],30h
    	;add byte ptr [di+bx-1],30h
    	dec bx
    	jnz su3
    	ret
    sub_B_A endp
    
    
    end_pro:
        MOV AH,4CH
        INT 21H
    CODES ENDS
        END START
    

    在这里插入图片描述
    最后一种是加入了对于有符号数的处理,可以输入并且输出有符号数,直接将减数和被减数相减即可。

    DATAS SEGMENT
        ;此处输入数据段代码 
       	buf dw 2 dup(?)
       	tmp db 10 dup(?)
        buf1 db '-','$'
        buf2 db '=','$'
        buf3 db 'Please input two number:',0dh,0ah,'$'
        buf4 db 'A=','$'
        buf5 db 'B=','$'
        buf6 db 0ah,'The character is out of range, Try again:',0dh,0ah,'$'
    DATAS ENDS
    
    STACKS SEGMENT
        ;此处输入堆栈段代码
        dw 50 dup(?)
        top label byte
    STACKS ENDS
    
    CODES SEGMENT
        ASSUME CS:CODES,DS:DATAS,SS:STACKS
    START:
    	mov ax,stacks
    	mov ss,ax
    	mov sp,offset top
        MOV AX,DATAS
        MOV DS,AX
        ;此处输入代码段代码
        ;A部分
    	;显示A中的数据
    	lea dx,buf4
    	mov ah,09h
    	int 21h
    	mov si,0;si作为下标
        call prepare_input
    	call input
    	add si,02h
    	lea dx,buf5
    	mov ah,09h
    	int 21h
    	call prepare_input
    	call input
    	;显示计算数据
    	mov si,0
    	mov ax,buf[si]
    	add si,02h
    	call show_ascii
    	mov dl,'-'
    	mov ah,02h
    	int 21h
    	mov ax,buf[si]
    	call show_ascii
    	mov dl,'='
    	mov ah,02h
    	int 21h
    	;减法运算部分
    	mov si,0
    	mov ax,buf[si]
    	add si,02h
    	mov dx,buf[si]
    	sub ax,dx
    	call show_ascii
    	jmp end_pro
    	
    prepare_input proc near
    	mov bx,10
    	mov bp,0
    	mov dx,0
    	ret
    prepare_input endp
    
    input proc near
    	push cx
    get_char:
    	mov ah,01h
    	int 21h
    	cmp al,'-';判断是否为负数
    	jz nagetive
    	cmp al,0dh;判断是否为回车
    	jz process_1
    	cmp al,' ';判断是否为空格
    	jz process_1
    	cmp al,30h
    	jl mistake
    	cmp al,39h;大于9
    	ja judge1
    	jmp process_2
    judge1:
    	cmp al,41h;表示在39<x<41的数
    	jb mistake
    	cmp al,80h;表示>46即超过F的数
    	ja mistake
    	jmp process_2
    mistake:
    	mov dx,offset buf6
        mov ah,9h
        int 21h 
        jmp get_char
    nagetive:
    	mov bp,1;bp作为符号位
    	jmp get_char
    process_2:
    	push ax;
    	mov ax,dx
    	mul bx;乘以10,以十进制存储
    	mov dx,ax;数据保存在dx中
    	pop ax
    	sub al,30h
    	mov ah,0
    	add dx,ax
    	jmp get_char
    process_1:
    	cmp bp,1
    	jnz save
    	neg dx;取负命令0-原数据
    save:
    	mov buf[si],dx;将处理好的数据存入num中去
    	mov bp,0;bp位清零	
    	mov dl,0dh;回车换行重新输入
    	mov ah,2
    	int 21h
    	mov dl,0ah
    	int 21h
    exit:
    	pop cx
    	ret
    input endp
    
    show_ascii proc near
    	test ax,1000h;与命令
    	jz pre_show;不是负数
    	push ax
    	mov dl,'-';是负数的情况,先显示负号
    	mov ah,02h
    	int 21h
    	pop ax
    	neg ax
    pre_show:
    	mov di,0
    	mov dx,0
    	mov bx,10
    mid_show:
    	div bx;十六进制转十进制
    	add dl,30h;余数部分作为结果
    	mov tmp[di],dl
    	inc di
    	cmp ax,0;判断商是否为0,是则表示转换完成
    	jz last_show
    	mov dx,0;余数部分清零
    	jmp mid_show
    last_show:
    	mov dl,tmp[di-1];dl为待输出字符的ascii码
    	mov ah,2
    	int 21h
    	dec di
    	jnz last_show
    	ret
    show_ascii endp
    
    end_pro:
        MOV AH,4CH
        INT 21H
    CODES ENDS
        END START
    

    在这里插入图片描述
    用汇编实现一个简单的多位数相减起始挺复杂的,第一种方法的缺点在于,首先减数和被减数的位数要相同,优点在于不用受位数的限制可以输入任意多位而不会发生溢出。方法二的缺点在于输入位数不能超过有符号数的范围,优点相减结果不需要讨论,可以直接输出结果。这个程序也是在一步步的改进中更加完善,起始功能是很简单的,后来增加了输入输出,后面发现没有对有符号数的处理,同样后面也改进了。我默认是输入4位数,后续可以改进的功能是输入任意多位数,以及输入保护。

    展开全文
  • 将数字转化为二进制进行数位dp,因为一个二进制数的最高必须为1,所以设置变量first记录前面是否1,若1,则可任意放,否则,只可放1。 同时,上面判断决定了搜索时len大小与二进制本身长度不一定...

    题目链接[kuangbin带你飞]专题十五 数位DP E - Round Numbers

    题意

    给定区间,求转化为二进制后其中0比1多或相等的数字的个数。

    思路

    将数字转化为二进制进行数位dp,因为一个二进制数的最高位必须为1,所以设置变量first记录前面位是否有1,若有1,则可任意放,否则,只可放1。
    同时,上面的判断决定了搜索时len的大小与二进制本身的长度不一定相等,所以需两个变量对1和0的个数进行记录。
    用dp[a][b][c]保存长度a,b个0,c个1的数字个数,记忆化搜索。

    代码

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    #include <cstdlib>
    #include <vector>
    
    using namespace std;
    
    #define LL long long
    int dp[33][33][33];
    int dis[33];
    
    int dfs(int len, int cnt0, int cnt1, bool first, bool flag)
    {
        if(len < 0)
            return (first || cnt0>cnt1);
        if(!flag && !first && dp[len][cnt0][cnt1]!=-1)
            return dp[len][cnt0][cnt1];
        int end = flag?dis[len]:1;
        int ans = 0;
        for(int i=0; i<=end; i++)
        {
            if(first)
            {
                if(i)
                    ans += dfs(len-1, 0, 0, 0, flag&&i==end);
                else
                    ans += dfs(len-1, 0, 0, 1, flag&&i==end);
            }
            else
            {
                if(i)
                    ans += dfs(len-1, cnt0, cnt1+1, 0, flag&&i==end);
                else
                    ans += dfs(len-1, cnt0+1, cnt1, 0, flag&&i==end);
            }
        }
        if(!flag && !first)
            dp[len][cnt0][cnt1] = ans;
        return ans;
    }
    
    int solve(int n)
    {
        int len = 0;
        while(n)
        {
            dis[len++] = n&1;
            n >>= 1;
        }
        return dfs(len-1, 0, 0, 1, 1);
    }
    
    int main()
    {
        int l, r;
        memset(dp, -1, sizeof(dp));
        while(cin>>l>>r)
            cout<<solve(r)-solve(l-1)<<endl;
        return 0;
    }
    展开全文
  • hdu 4734 数位dp

    2016-02-20 13:43:14
    题意:给一个数A (进制表示形式为AnAn-1An-2 ... A2A1,定义函数 F(x) = An * ...分析:f[i][j]表示i位比j小的数有多少,先计算出F(a),然后dfs,找出比fa的B以内的数,找B以内的数,这就是简单的数
  • 首先了解下转换规则(相互转换):转码之前,一些名词概念:1、原码一个正数,按照绝对值大小转换成二进制,称为原码2、反码将二进制取反,所得新二进制称为原二进制数的反码其实就是把原码中0变为1,1...
  • 给出x,分别求出x中第一个价值x小的数y.如果不存在则输出-1. x 假如x价值为val 数DP:先算[1,n]中多少价值不超过val-1的数. dp[pos][val].. 二分出一个y 满足[1,y]价值不超过val-1的数和[1,x]价值不...
  • 晓查 发自 凹非寺 量子 ...这次望月新一证明,全篇超过600页,2012年就已发表,但足足经过了8年同行评审才通过,期间开过多次研讨会——但依然很多数学家无法理解。据说,这篇论文全球只有数学家...
  • 如果以39精度圆周率值,来计算可观测宇宙(observable universe)大小,误差还不到一个原子体积。以前人计算圆周率,是要探究圆周率是不是循环小数,自从1761年兰伯特证明了圆周率是无理(无限不循环小数,...
  • 例如:当Q0~Q3输出个位的BCD码时,DS1端输出低电平;当Q0~Q3输出十位的BCD码时,DS2端输出低电平;当Q0~Q3输出百位BCD码时,DS3端输出低电平时,周而复始、循环不止。 图3-5 CD4553芯片引脚图 表3-1 CD4553...
  • 计算机里二进制运算,往往比十进制运算来的快。 首先了解下转换规则(相互转换): 转码之前,一些名词概念: 1、原码 一个正数,按照绝对值大小转换成二进制,称为原码 2、反码 将二进制取反,所得...
  • 对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。 你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,...
  • 运算

    2018-07-09 22:21:00
    要讲java一些奇奇怪怪运算符号之前,...1、原码一个正数,按照绝对值大小转换成二进制,称为原码2、反码将二进制取反,所得新二进制称为原二进制数的反码其实就是把原码中0变为1,1变为0例如:0000 ...
  • 问题描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出所有数字中最小的一个。例如输入数组{3,32,321},则打印出... 4 *比较条件为将两整数转换成字符串后,从最高开始,如果小的
  • 之前有小伙伴面试就被问到了字典序首先说一个基础的字典序:题目1: 已知一个数字 m ,求仍m所含数字组成的最小的数字。比如当前数字是 34672 下一个比...6以下有比6大的数字,故可以变大找到6右面最小的6大的数...
  • 第二章 数据分析 知识点题型归纳 实验中学 马贵荣 PAGE PAGE 1 知识点讲解 1.平均 1算术平均数一组数据中n数据则它们算术平均为 ....中位数组数据按照由到大或由大到小的顺序排列如果数据
  • 选择排序算法(

    2017-08-13 21:05:30
    步:用2跟其它数字比较,如果有比,就把它放在第一位,但是这里没有,所以2还是在第一位; 第二步:把2排除,因为它已经排好了,是最小,所以从5开始依次往后比较,35,所以后面用3去比较,3是最小
  • 个三位数的十位数字比个位数字和百位数字都大,称这个为“伞”. 现从1,2,3,4,5,6…N,这N个数字中取3个,组成无重复数字三位, 问其中多少个伞 Input 行,给出数字N,N<=9 Output 如题 Sample...
  • 虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【天学会ASP教程】,大家所需要了解不是ASP程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...
  • 即12321是回文个位与万位相同,十位与千位相同。 请输入星期几个字母来判断一下是星期几,如果第个字母一样,则继续 判断第二个字母 求100之内素数 对10个进行排序 求个3*3矩阵对角线元素之和
  • 之前有小伙伴面试就被问到了字典序首先说一个基础的字典序:题目1: 已知一个数字 m ,求仍m所含数字组成的最小的数字。比如当前数字是 34672 下一个比...6以下有比6大的数字,故可以变大找到6右面最小的6大的数...
  • 学python第二天

    2021-01-23 13:46:37
    1.百位数和十位数的数字相同循环结构...现要求模拟回答这趣味题,输入两正整数(假定第一个数比第二个小),输出介于这两个数(包括这两个数自身)之间百位数和十位数相同数字个数。 测试样例1 输入1001 1005输出5
  • 猜数字游戏规则: 1. 电脑随机产生100—999之间数字(包括100、999); 提示:用rand函数,该函数在stdlib.h库中,并保证多次运行产生...7. 两个数,其中一个十位数? ——当前分数减20 8. 之和 ——当前分数减33
  • 先给出一个正整数 nnn,表示这个数有 nnn ,然后给出 nnn 个十进制非负整数,表示该数从高位到低位每的数进制表示。 若在某进制下 A∗B=CA*B=CA∗B=C,输出符合要求的进制。 题解: 考虑当前 kkk ...
  • 把1,2,3,4,5,6,7,8,9共九个数分成三组构成排列a1a2a3,a4a5a6,a7a8a9,而且每数字使用且仅有一次,构成排列之为1:2:3,求输出所有排列组合。 主要还是得通过蛮力法来做,但我们可以通过计算来减小循环次数...
  • 小学一年级(上)数学期末质量检测试题  班级 姓名 学号 ...① 7大而又11小的数有( ),共( )。  ② 1个十和5个一合起来是( ),16在( )和( )中间。  ③最小的两数是( ),最大的一位数是( ),它们相差
  • 某些点(离散化)

    2018-05-04 13:21:00
    离散化 sort(t+1,t+1+n); m=unique(t+1,t+1+n)-t-1;//m为不重复元素个数 原序列:6 9 4 6 4 排序后:4 4 6 6 9 ...unique有一个返回值,例如有十个有序数列3 3 5 5 6 6 6 7 7 8,不重复数字五...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 225
精华内容 90
关键字:

个位比十位小一的数有