求一百以内的质数

这种类型题目在工作中几乎不可能遇到,但是非常考察shell编程功底

#!/bin/bash

# 求100以内的质数
#declare -i i=1
i=1
while (( i<=100 ))
do
    ret=1
    for ((j=2;j<i;j++))
    do
        # if (( i%j == 0));then
        if [ $(( i%j )) -eq 0 ];then
            ret=0
            break
        fi
    done
    if [ $ret -eq 1 ];then
        echo "$i"
    fi
    # 以下三种运算方式都可以使用
    # (( i=i+1 ))
     i=$[i+1]
    # i=$((i+1))
    # 下面这行中的i需要declare为int
    #i=$i+1

done
时间: 2024-10-16 02:41:25

求一百以内的质数的相关文章

求100以内的质数

求100以内的质数. 1 num = [2] 2 i = 3 3 while i < 101: 4 j = 2 5 while j < i: 6 if i % j == 0: 7 break 8 else: 9 j = j + 1 10 continue 11 else: 12 num.append(i) 13 i = i + 1 14 print(num)

python ---求100以内的质数有哪些

#coding=utf8 #求100以内的质数有哪些 #质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数 #for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while - else 也是一样. list = [] def f(n): for i in range(2,101): #如果for循环中存在一个满足这个条件,直接break跳出for循环,不执行else #如果for循环中没有一个满足该条

求一百以内奇数偶数之和,用while 语句好像不可以

1 #求一百以内奇数之和 2 #用while语句好像不好求和? 3 n=1 4 s=0 5 while n < 101: 6 temp=n%2 7 if temp == 0: 8 pass 9 else: 10 s = s + n 11 n = n + 1 12 print(s) 13 14 15 #基本式 16 17 sum = 0 18 for i in range(1,100,2): 19 sum = sum + i 20 print(sum) 21 22 23 24 25 #方法一: 2

求n以内的质数(质数的定义:在大于1的自然数中,除了1和它本身意外,无法被其他自然数整除的数)

思路: 1.(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数2.除了2的偶数都不是质数代码如下: /** * 求n内的质数 * @param int $n * @return array */ function get_prime($n) { $prime = array(2);//2为质数 for ($i = 3; $i <= $n; $i += 2) {//偶数不是质数,步长可以加大 $sqrt = intval(sqrt($i));//求根号n for ($j = 3;

算法基础-求1000以内的质数

1 //筛选1000以内的所有质数 2 //说明:除了自身以外,无法被其它整数整除的数称之为质数. 3 // 4 #include <stdio.h> 5 #include <stdlib.h> 6 #define N 1000 7 8 int main(void) { 9 int i, j; 10 int prime[N + 1]; 11 //初始化数组都等于1 12 for( i = 2; i <= N; i++){ 13 prime[i]=1; 14 } 15 //嵌套

编程&amp;blog处女篇-用C#求100以内的质数

using System;namespace Loops{ class Program { static void Main(string[] args) { /*局部变量定义*/ int i, j; for (i = 2; i < 100; i++) { for (j = 2; j <= i / j; j++) if ((i % j) == 0) break;//如果找到,则不是质数 if (j > (i / j)) Console.WriteLine("{0} 是质数 /n

Java求100以内的质数的四种方法

质数: 又称素数,只能被1和它本身整除的数就是质数. 难点: 需要两层循环,外层循环99遍: 内层循环,控制除数为2到98(也就是2到被除数前面的一个数). 为什么从2开始?因为所有数都能被1整除. 需要定义一个变量flag来记录某个数是不是质数 内层循环结束后需要重新把flag重置为true 方法一: import org.junit.Test; public class Demo { @Test public void primeNumberTest() { boolean flag = t

筛法求10000以内的质数

#include<stdio.h>#define N 10000int main(){ int i,j,a[N]; for(i=2;i<N;i++) a[i]=1; for(i=2;i<N;i++) if(a[i]) for(j=i;i*j<N;j++) a[i*j]=0; for(i=2;i<N;i++) if(a[i]) printf("%d\t",i); return 0;}

Python 小议2:用循环和递归函数分别求100以内的数字的加法和乘法。

今晚看了函数的递归,在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.递归函数的优点是定义简单,逻辑清晰.理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰. 联想到之前用循环写的关于求一百以内的数的和,目前看来基本上有三种写法: 1. for 循环 sum = 0 for i in range(1,101): sum = sum +i print sum 2 while 循环: sum =0 i =1 while i <101: sum =