牛客NC368 质数的计数【中等 基础数学,数论 C++/Java/Go/PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/190167d1990442da9adb133980259a27

思路

判断x是否是质数:这是判断质数最好的代码了public boolean isPrime(int x){if(x ==2 || x==3) return true;if(x%6!=1 && x%6!=5) return false; //不在6倍数的两边肯定不是质数int sqrt = (int)Math.sqrt(x);for (int i = 5; i <=sqrt ; i+=6) {//如果在6的倍数两边,但是n%i==0 或者 n%(i+2)==0 也不是质数if(x%i==0 || x%(i+2) ==0) return false;}return true;}

参考答案C++

class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型* @return int整型*/int primesCount(int n) {int cnt = 0;for (int i = 2; i < n; i++) {if (isPrime(i))cnt++;}return cnt;}bool  isPrime(int x) {if (x == 2 || x == 3) return true;if (x % 6 != 1 && x % 6 != 5) return false; //不在6的两边肯定不是质数int st = sqrt(x);for (int i = 5; i <= st; i++) {//如果在6的两边,但是n%i==0 或者 n%(i+2)==0 也不是质数if (x % i == 0 || x % (i + 2) == 0) return false;}return true;}
};

参考答案Java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型* @return int整型*/public int primesCount (int n) {int cnt = 0;for (int i = 2; i < n; i++) {if (isPrime(i)) cnt++;}return cnt;}public boolean isPrime(int x) {if (x == 2 || x == 3) return true;if (x % 6 != 1 && x % 6 != 5) return false; //不在6的两边肯定不是质数int sqrt = (int)Math.sqrt(x);for (int i = 5; i <= sqrt ; i += 6) {//如果在6的两边,但是n%i==0 或者 n%(i+2)==0 也不是质数if (x % i == 0 || x % (i + 2) == 0) return false;}return true;}}

参考答案Go

package main
import "math"/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型* @return int整型*/
func primesCount(n int) int {cnt := 0for i := 2; i < n; i++ {if isPrime(i) {cnt++}}return cnt
}func isPrime(x int) bool {if x == 2 || x == 3 {return true}if x%6 != 1 && x%6 != 5 {return false //不在6的两边肯定不是质数}sqrt := int(math.Sqrt(float64(x)))for i := 5; i <= sqrt; i += 6 {//如果在6的两边,但是n%i==0 或者 n%(i+2)==0 也不是质数if x%i == 0 || x%(i+2) == 0 {return false}}return true
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param n int整型 * @return int整型*/
function primesCount( $n )
{$cnt =0;for($i=2;$i<$n;$i++){if(isPrime($i))$cnt++;}return $cnt;
}function isPrime($x){if($x ==2 || $x ==3) return true;if($x %6!=1 && $x%6!=5) return false; //不在6的两边肯定不是质数$sqrt = intval(sqrt($x));for($i=5;$i<=$sqrt;$i++){//如果在6的两边,但是n%i==0 或者 n%(i+2)==0 也不是质数if($x%$i ==0 || $x%($i+2) ==0)return false;}return true;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言:插入排序

插入排序 1.解释2.步骤3.举例分析示例结果分析 1.解释 插入排序是一种简单直观的排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常采…

【10-逻辑回归分类器:Scikit-learn中的二元分类实战】

文章目录 前言逻辑回归简介设置Scikit-learn环境选择数据集数据预处理训练逻辑回归模型模型评估优化模型结论前言 分类问题是机器学习中最常见的任务之一,而逻辑回归是处理二元分类问题的一种强大且直观的技术。本篇博文将深入探讨如何在Scikit-learn中实现逻辑回归分类器,并…

Hadoop之路

hadoop更适合在liunx环境下运行&#xff0c;会节省后期很多麻烦&#xff0c;而用虚拟器就太占主机内存了&#xff0c;因此后面我们将把hadoop安装到wsl后进行学习,后续学习的环境是Ubuntu-16.04 &#xff08;windows上如何安装wsl&#xff09; 千万强调&#xff0c;有的命令一…

深度学习运算:CUDA 编程简介

一、说明 如今&#xff0c;当我们谈论深度学习时&#xff0c;通常会将其实现与利用 GPU 来提高性能联系起来。GPU&#xff08;图形处理单元&#xff09;最初设计用于加速图像、2D 和 3D 图形的渲染。然而&#xff0c;由于它们能够执行许多并行操作&#xff0c;因此它们的实用性…

java-Spring-(MyBatis框架-xml管理)

目录 前置条件 xml与注解比较 1.1 xml定义 1.2 和SQL注解比较 建包准备 插入数据 ​编辑 更新数据 删除数据 查询数据 查看单字段查询 &#x1f3f7;&#x1f4a3;前置条件 创建一个spring boot 初始化的项目 &#x1f3f7;&#x1f4a3;xml与注解比较 1.1 xml定义 …

VBA技术资料MF145:清空回收站

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

ElasticSearch语句中must,must_not,should 组合关系

前言&#xff1a; 在实际应用中&#xff0c;发现当bool中同时使用must和should 没有达到想要的想过&#xff0c;而是只展示了must中的命中数据&#xff0c;所以打算探究一下bool中 三种逻辑关系的组合。 上述查询语句只展示了must的结果&#xff0c;没有should中的结果&#…

Faust勒索病毒:了解变种faust,以及如何保护您的数据

导言&#xff1a; 近年来&#xff0c;网络安全问题日益严峻&#xff0c;其中勒索病毒成为了一种日益猖獗的威胁。在众多勒索病毒中&#xff0c;.faust勒索病毒以其高度的隐秘性和破坏性引起了广泛关注。本文91数据恢复将深入剖析.faust勒索病毒的威胁特点&#xff0c;并提出相…

打包的意义 作用等前端概念集合 webpack基础配置等

基础网页是什么&#xff1f; 在学校最基础的三剑客 原生JS CSS H5就可以开发静态网页了 对于浏览器而言也能识别这些基础的文件和语法&#xff0c;真正的所见即所得&#xff0c;非常直接。 为什么要使用框架库&#xff1f; 对于常用的前端框架而言&#xff0c;无论是Vue Rea…

微信小程序:9.小程序配置

全局配置文件 小程序根目录下的app.json文件是小程序的全局配置文件。 常用的配置文件如下: pages 记录当前小程序所有的页面存放路径信息 window 全局设置小程序窗口外观 tabBar 设置小程序底部的tabBar效果 style 是否启用新版style 小程序窗口的组成部分 了解windo节点常…

【网络技术】【Kali Linux】Wireshark嗅探(十一)以太网Ethernet协议报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客&#xff1a; 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;一&#xff09;ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;二&#xff09;TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

封装 H.264 视频为 FLV 格式然后推流

封装 H.264 视频为 FLV 格式并通过 RTMP 推流 flyfish 协议 RTMP (Real-Time Messaging Protocol) RTSP (Real Time Streaming Protocol) SRT (Secure Reliable Transport) WebRTC RTMP&#xff08;Real Time Messaging Protocol&#xff09;是一种用于实时音视频流传输的协…