求100以内的质数

本文介绍了质数的基本概念,并提供了一段Java代码用于找出1到100之间的所有质数。质数是指只能被1和它本身整除的大于1的自然数。
首先,以下是百度百科对质数的解释:
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

java代码如下:

for(int i=2;i<100;i++)
{
int count=0;
for(int j=1;j<=i;j++)
{
if(i%j==0)
{
count++;
}
}
if(count==2)
{
System.out.print(i+" ");
}
}
虽然提供的引用中未直接给出汇编语言80386实现100以内素数的代码,但可参考C语言判断素数的逻辑来编写汇编代码。以下是一个可能的汇编语言80386代码示例: ```asm .MODEL SMALL .STACK 100H .DATA newline DB 13, 10, '$' .CODE MAIN PROC MOV AX, @DATA MOV DS, AX MOV CX, 100 ; 循环100次,从2开始判断到100 MOV SI, 2 ; 从2开始判断 CHECK_LOOP: MOV AX, SI MOV BX, 2 ; 数从2开始 MOV DX, 0 MOV FLAG, 1 ; 假设当前数是素数 DIVIDE_LOOP: MOV AX, SI MOV DX, 0 DIV BX ; AX / BX,商在AX,余数在DX CMP DX, 0 ; 判断余数是否为0 JE NOT_PRIME ; 如果余数为0,不是素数 INC BX ; 数加1 CMP BX, SI ; 判断数是否小于当前数 JL DIVIDE_LOOP ; 如果小于,继续 PRINT_PRIME: MOV AX, SI CALL PRINT_NUMBER ; 打印素数 MOV AH, 09H LEA DX, newline INT 21H NOT_PRIME: INC SI ; 当前数加1 LOOP CHECK_LOOP ; 循环继续判断下一个数 MOV AH, 4CH INT 21H MAIN ENDP ; 打印数字子程序 PRINT_NUMBER PROC MOV CX, 0 MOV BX, 10 CONVERT_LOOP: MOV DX, 0 DIV BX ; AX / 10,商在AX,余数在DX PUSH DX ; 余数入栈 INC CX ; 位数加1 CMP AX, 0 ; 判断商是否为0 JNE CONVERT_LOOP ; 如果不为0,继续 PRINT_LOOP: POP DX ; 余数出栈 ADD DL, 30H ; 转换为ASCII码 MOV AH, 02H INT 21H LOOP PRINT_LOOP RET PRINT_NUMBER ENDP END MAIN ``` 上述代码的逻辑是从2开始,依次判断每个数是否为素数,如果是素数则打印出来。判断素数的方法是用该数以从2到它本身减1的所有数,如果都不能整,则该数为素数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值