编程每日一练(多语言实现)基础篇:求100~200之间的素数

news2024/11/17 1:46:44

文章目录

  • 一、实例描述
  • 二、技术要点
  • 三、代码实现
    • 3.1 C 语言实现
    • 3.2 Python 语言实现
    • 3.3 Java 语言实现
    • 3.4 JavaScript 语言实现
    • 3.5 Go 语言实现

一、实例描述

求素数表中 100~200 之间的全部素数。运行结果如下图所示:
在这里插入图片描述

二、技术要点

素数是大于1的整数,除了能被自身和1整除外,不能被其它正整数整除。本示例的算法是这样的:让 i2根号i 除,如果 i 能被 2根号i 之中任何一个整数整除,则结束循环,若不能被整除则要判断 j 是否是最接近或等于 根号i 的,如果是则证明是素数,否则继续下次循环。

三、代码实现

3.1 C 语言实现

/*================================================================
*   Copyright (C) 2023 AmoXiang All rights reserved.
*   
*   文件名称:05-求素数表中100~200之间的全部素数.c
*   创 建 者:AmoXiang
*   创建日期:2023年10月07日 11:09:43
*   描    述:
*
================================================================*/


#include <stdio.h>
#include <math.h>
int main() {
  int num = 0;
  int i = 0, j = 0;
  for (i = 100; i < 201; ++i) {
    int j_max = (int) sqrt(i);
//    printf("%d\n", j_max);
    for (j = 2; j < j_max + 1; ++j) {
      if (i % j == 0) {
        break;
      } else if (j == j_max) {
        num++;
        printf("%d,", i);
        if (num % 5 == 0) {
          printf("\n");
        }
      }
    }
  }
  printf("\n");
  return 0;
}

程序运行结果如下图所示:
在这里插入图片描述

3.2 Python 语言实现

# -*- coding: utf-8 -*-
# @Time    : 2023/10/7 10:23
# @Author  : AmoXiang
# @File    : 05-求素数表中100~200之间的全部素数.py
# @Software: PyCharm
# @Blog    : https://blog.csdn.net/xw1680
import math

num = 0

# 第一种方案:暴力轮询 查看从2开始到数本身是否有能被数整除的数字 如果有说明不是素数
for i in range(100, 201):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        num += 1
        print(i, end=',')
        if num % 5 == 0:
            print()
print()
print('==============================================>')
# 第二种方案: 让i被2到根号i除,如果i能被2到根号i之中任何一个整数整除,则结束循环,
# 若不能被整除则要判断j是否是最接近或等于根号i的,如果是则证明是素数,否则继续下次循环。
num = 0  # 重新开始计数
for i in range(100, 201):
    j_max = int(math.sqrt(i)) + 1  # 注意这里要加1
    for j in range(2, j_max):
        if i % j == 0:
            break
    else:
        num += 1
        print(i, end=',')
        if num % 5 == 0:
            print()

程序运行结果如下图所示:
在这里插入图片描述

3.3 Java 语言实现

/**
 * ClassName: Exercise5
 * Package: PACKAGE_NAME
 * Description: 求100~200之间的素数
 *
 * @Author AmoXiang
 * @Create 2023/10/7 10:49
 * @Version 1.0
 */

public class Exercise5 {
    public static void main(String[] args) {
        int num = 0; //计数
        for (int i = 100; i < 201; i++) {
            int j_max = (int) Math.sqrt(i);
            for (int j = 2; j < j_max + 1; j++) {
                if (i % j == 0) {
                    break; // 如果有一个数能被整除就跳出循环
                } else if (j == j_max) {
                    num++;
                    System.out.print(i + ",");
                    if (num % 5 == 0) {
                        System.out.println();
                    }
                }
            }
        }
    }
}

程序运行结果如下图所示:
在这里插入图片描述

3.4 JavaScript 语言实现

let num = 0;
for (let i = 100; i < 201; i++) {
    let j_max = parseInt(Math.sqrt(i))
    for (let j = 2; j < j_max + 1; j++) {
        if (i % j == 0) {
            break
        } else if (j == j_max) {
            num++;
            process.stdout.write(i + ","); // 注意一下console.log会自动换行,如果使用console.log 可以结合数组来输出
            if (num % 5 == 0) {
                process.stdout.write("\n");
            }
        }
    }
}

程序运行结果如下图所示:
在这里插入图片描述

3.5 Go 语言实现

package main

import "math"
import "fmt"

func main() {
	var num int = 0 //用来计数
	for i := 100; i < 201; i++ {
		j_max := int(math.Sqrt(float64(i)))
		//fmt.Println(j_max)
		//fmt.Println(num)
		for j := 2; j < (j_max + 1); j++ {
			if i%j == 0 {
				break
			} else if j == j_max {
				num++
				fmt.Printf("%d,", i)
				if num%5 == 0 {
					fmt.Println()
				}
			}
		}
	}
	fmt.Println()
}

程序运行结果如下图所示:
在这里插入图片描述
至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习编程的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


在这里插入图片描述

    好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1065698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Verilog HDL阻塞赋值和非阻塞赋值笔记

1. module test( input wire clk, input wire b, output reg a, output reg c ); always(posedge clk) begin ab; ca; end endmodule 上面的代码在vivado中综合后的电路为&#xff1a; 2. module test( input wire clk, input wire b, outp…

Java编程技巧:Excel导入、导出(支持EasyExcel和EasyPoi)

目录 1、EasyExcel&#xff1a;普通导出2、EasyExcel&#xff1a;普通导入3、EasyExcel&#xff1a;复杂导出4、EasyPoi&#xff1a;普通导出5、EasyPoi&#xff1a;普通导入6、EasyPoi&#xff1a;复杂导出7、EasyPoi&#xff1a;复杂导入8、代码 1、EasyExcel&#xff1a;普通…

使用chat-GPT接口提取合同中关键信息

1 业务需求 目前公司有几千份合同&#xff0c;而且还会不断的增长&#xff1b;现在需要将合同中的关键信息提取出来给业务使用&#xff0c;业务现在需要将这些关键字段信息录入存档到档案系统&#xff1b;人工去阅读整个合同去提取这些信息&#xff0c;是很浪费人力的&#xff…

数据库基础知识

数据库 什么是数据库, 数据库管理系统, 数据库系统, 数据库管理员? 数据库 : 数据库(DataBase 简称 DB)就是信息的集合或者说数据库是由数据库管理系统管理的数据的集合。数据库管理系统 : 数据库管理系统(Database Management System 简称 DBMS)是一种操纵和管理数据库的大…

“逆境中的经济悖论:衰退与通胀之争,解读未来的经济迷局!“

收益率和石油继续上涨&#xff0c;预示着通胀上升&#xff0c;但在经济衰退时这些东西都会下降。 美国十年期国债正在爆炸 更高的收益率意味着政府需要支付更高的利息、经济疲软、通胀更高、印钞更多&#xff0c;甚至收益率更高&#xff0c;该反馈循环的关键要素是更多印钞。 …

第二证券:买基金1w一个月能赚多少?

跟着经济的开展和出资观念的改动&#xff0c;越来越多的人开始出资基金&#xff0c;购买基金已成为普遍且盛行的出资方式之一。在这个商场中&#xff0c;人们最重视的问题莫过于“买基金1w一个月能赚多少&#xff1f;”本文将从多个角度分析这一问题&#xff0c;协助出资者更全…

Elasticsearch:多语言语义搜索

在此示例中&#xff0c;我们将使用多语言嵌入模型 multilingual-e5-base 对混合语言文档的 toy 数据集执行搜索。 使用这个模型&#xff0c;我们可以通过两种方式进行搜索&#xff1a; 跨语言&#xff0c;例如使用德语查询来查找英语文档在非英语语言中&#xff0c;例如使用德…

基于风驱动优化的BP神经网络(分类应用) - 附代码

基于风驱动优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于风驱动优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.风驱动优化BP神经网络3.1 BP神经网络参数设置3.2 风驱动算法应用 4.测试结果&#x…

每日一题 901. 股票价格跨度(中等,单调栈)

理解题目&#xff0c;对于第 i 天&#xff0c;要求的是前 i - 1 天所满足条件的跨度 思路&#xff1a; 暴力搜索的方式是&#xff0c;对于每一个第 i 天都遍历搜索 i - 1&#xff0c; i - 2&#xff0c;…&#xff0c;直到第 j 天大于当前价格优化&#xff0c;考虑哪里进行了…

1500*B. Zero Array(贪心数学找规律)

Problem - 1201B - Codeforces 解析&#xff1a; 因为每次减少2&#xff0c;如果总和为奇数肯定无法实现。 特例&#xff0c;如果某个数大于其他所有数的总和&#xff0c;同样无法实现。 其他均可实现。 #include<bits/stdc.h> using namespace std; #define int long l…

数学王国找寻另一半:求一个整数的真因子总和

数学王国找寻另一半&#xff0c;求一个整数的真因子总和。 (本笔记适合python字符串、列表list熟悉的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不…

基于水循环优化的BP神经网络(分类应用) - 附代码

基于水循环优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于水循环优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.水循环优化BP神经网络3.1 BP神经网络参数设置3.2 水循环算法应用 4.测试结果&#x…

10月7日星期六今日早报简报微语报早读

10月7日&#xff0c;星期六&#xff0c;早报简报微语早读分享。 1、中秋国庆假期国内旅游8.26亿人次&#xff0c;旅游收入7534.3亿&#xff1b; 2、2023国庆档新片票房破27亿&#xff1b; 3、石宇奇、李诗沣会师决赛&#xff0c;国羽提前包揽男单金银牌&#xff1b; 4、德国大…

前端vue 自定义组件

Vue组件的使用之props 为了提高组件的复用性&#xff0c;在封装vue组件时需要遵守如下原则&#xff1a; ① 组件的DOM结构、Style样式要尽量复用 ② 组件中要显示的数据&#xff0c;尽量由组件的使用者提供 为了方便使用者为组件提供要展示的数据&#xff0c;vue组件提供了…

【C++面向对象侯捷下】4. pointer-like classes,关于智能指针 | 5. function-like classes,所谓仿函数

文章目录 4. pointer-like classes,关于智能指针pointer-like classes,关于智能指针 shared_ptrpointer-like classes,关于迭代器5. function-like classes&#xff0c;所谓仿函数【不懂&#xff0c;跳过】 4. pointer-like classes,关于智能指针 pointer-like classes,关于智…

Postgresql中的C/C++混编(JIT)

1 Postgresql编译JIT 整体上看使用了GCC、G编译文件&#xff0c;最后用G汇总&#xff1a; GCC编译的三个.o文件llvmjit、llvmjit_deform、llvmjit_expr llvmjit.c -> llvmjit.o gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -…

VF11MR8M 冲销原因 小结

VF11&MR8M 冲销原因 小结 1.后台设置路径&#xff1a; SPRO->财务会计->总账会计->业务交易->调整过账/冲销->定义冲销原因 反记账&#xff1a; 2.前台操作使用01–当前期间回转 不会反记账&#xff0c;冲销凭证 过账日期 按 原凭证过账日期&#xff0…

CCF CSP认证 历年题目自练Day23

CCF CSP认证 历年题目自练Day23 题目一 试题编号&#xff1a; 202006-1 试题名称&#xff1a; 线性分类器 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 512.0MB 题目分析&#xff08;个人理解&#xff09; 题目很长&#xff0c;专门吓唬人的&#xff0c;第一行输入…

安卓‘进度条ProgressBar’中‘setIndeterminate()’方法

在进度条的设置中&#xff0c;setIndeterminate()方法是用来设置进度条是否采用‘模糊模式’&#xff08;Indeterminate的意思就是‘不确定的&#xff0c;模糊的&#xff0c;不明确的’ 也就是进度是否是确定的&#xff09; 当设置setIndeterminate(true)参数为真时&#xff0c…

Compose中的Text组件

纵向布局为&#xff1a;Column 横向布局为&#xff1a;Row 设置内容 text属性设置内容。 设置权重 Modifier.weight(1.0f, true)权重设置&#xff0c;第一个参数 Float类型设置占比权重&#xff0c;第二个参数当为true时&#xff0c;元素将占据分配的整个宽度。 fontSize…