运行 C 程序,输出 100 至 200 之间的质数。
无
输出 100 至 200 之间的质数,每行输出一个质数,每个质数前面需要带有序号。

在《一文解决如何使用 C 语言判断质数(素数)》一文中,我详细讲解了质数以及如何使用 C 语言判断质数,本篇文章将引用此文中判断质数的函数,共介绍了两种判断方法,分别是暴力求解和巧用平方根,出于对程序执行效率的考虑,在这里我以巧用平方根为例进行讲解。
for 循环遍历 100 至 200 之间的数,逐一判断哪个是质数。具体代码如下:
#include <stdio.h>
#include <math.h> /* 包含 <math.h> */
/****************************************************************************
* 函数名: Judge_PrimeNumber
* 功能描述:判断一个数是否为质数
* 输入参数:
* _number:需要判断的数
* 返回值:
* 1:是质数
* 0:不是质数
* 外部参数:无
* 注意事项:无
*
* 作者: 梁国庆
* 日期: 2021-12-11
* 修改记录:
****************************************************************************/
int Judge_PrimeNumber(int _number)
{
int i = 0;
if (_number < 2)
{
return 0; /* 需要判断的数小于 2,则不是质数,返回 0 */
}
for (i = 2; i <= sqrt(_number); i++) /* 遍历从 2 到 √_number 区间中的所有数 */
{
if (_number % i == 0)
{
return 0; /* 若可以被整除,则不是质数,返回 0 */
}
}
return 1; /* 若执行完以上程序均未返回,则是指数,返回 1 */
}
int main()
{
int i = 0, num = 0;
for (i = 100; i <= 200; i++) /* 遍历 100 至 200 之间的数 */
{
if (Judge_PrimeNumber(i) == 1) /* 调用判断质数的函数,判断输入的整数 i */
{
num++;
printf("%d.\t", num); /* 输出当前质数的个数 */
printf("%d\n", i); /* 输出质数 */
}
}
return 0;
}
本方案是对方案一的优化处理。
在 100 至 200 之间的所有偶数都不是质数,所以可以将其去除,直接对奇数进行判断,对于方案一来说可以让程序的运行时间减少一半,运行效率大幅度提高。
具体代码如下:
#include <stdio.h>
#include <math.h> /* 包含 <math.h> */
/****************************************************************************
* 函数名: Judge_PrimeNumber
* 功能描述:判断一个数是否为质数
* 输入参数:
* _number:需要判断的数
* 返回值:
* 1:是质数
* 0:不是质数
* 外部参数:无
* 注意事项:无
*
* 作者: 梁国庆
* 日期: 2021-12-11
* 修改记录:
****************************************************************************/
int Judge_PrimeNumber(int _number)
{
int i = 0;
if (_number < 2)
{
return 0; /* 需要判断的数小于 2,则不是质数,返回 0 */
}
for (i = 2; i <= sqrt(_number); i++) /* 遍历从 2 到 √_number 区间中的所有数 */
{
if (_number % i == 0)
{
return 0; /* 若可以被整除,则不是质数,返回 0 */
}
}
return 1; /* 若执行完以上程序均未返回,则是指数,返回 1 */
}
int main()
{
int i = 0, num = 0;
for (i = 101; i <= 200; i += 2) /* 遍历 101 至 200 之间的数 */
{
if (Judge_PrimeNumber(i) == 1) /* 调用判断质数的函数,判断输入的整数 i */
{
num++;
printf("%d.\t", num); /* 输出当前质数的个数 */
printf("%d\n", i); /* 输出质数 */
}
}
return 0;
}
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我正在使用puppet为ruby程序提供一组常量。我需要提供一组主机名,我的程序将对其进行迭代。在我之前使用的bash脚本中,我只是将它作为一个puppet变量hosts=>"host1,host2"我将其提供给bash脚本作为HOSTS=显然这对ruby不太适用——我需要它的格式hosts=["host1","host2"]自从phosts和putsmy_array.inspect提供输出["host1","host2"]我希望使用其中之一。不幸的是,我终其一生都无法弄清楚如何让它发挥作用。我尝试了以下各项:我发现某处他们指出我需要在函数调用前放置“function_”……这
这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee
我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
我想使用spawn(针对多个并发子进程)在Ruby中执行一个外部进程,并将标准输出或标准错误收集到一个字符串中,其方式类似于使用Python的子进程Popen.communicate()可以完成的操作。我尝试将:out/:err重定向到一个新的StringIO对象,但这会生成一个ArgumentError,并且临时重新定义$stdxxx会混淆子进程的输出。 最佳答案 如果你不喜欢popen,这是我的方法:r,w=IO.pipepid=Process.spawn(command,:out=>w,:err=>[:child,:out])
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------