- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
程序:我必须编写一个程序来显示 1 到 100 之间的所有素数。
历史:我编写了一个程序,要求用户输入一个数字,告诉他这是否是素数,如果不是,程序会显示其因子。
困惑:但我不明白为什么这个程序(显示从1到100的质数)不能正常运行。
任何帮助将不胜感激。
//pre-processor directives
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
//global variables/declarations
int factors=0;
int checkifprime(int num);
//main function - start
int main()
{
//declaring loop variable
int c;
for (c=1;c<=100;c++)
{
if (c==1 ||c==2)
{
printf("\n%d is a prime number",c);
}
else
{
factors = 0;
printf("error ");
checkifprime(c);
printf("error ");
if (factors=0)
{
printf("\n%d is a prime number",&c);
}
else
{
printf("\n%d is NOT a prime number",&c);
}
}
}
}
int checkifprime(int num)
{
int i;
if (num>0 && num<2147483640)
{
i = num-1;
for (i;i>1;i--)
{
if (num%i==0)
{
factors=factors+1;
printf(" %d",i);
}
}
}
//program finished
getch();
return 0;
}
最佳答案
其中有一个小但很重要的拼写错误。如果您打开所有警告,您就会捕获它,因此下次:打开编译器提供的所有警告。经过一些额外的清理以摆脱 Windows 独有的东西:
//pre-processor directives
#include <stdio.h>
#include <stdlib.h>
//global variables/declarations
int factors = 0;
int checkifprime(int num);
//main function - start
int main()
{
//declaring loop variable
int c;
puts("1 is NOT a prime number");
for (c = 2; c <= 100; c++) {
if (c == 2 || c == 3) {
printf("%d is a prime number\n", c);
} else {
factors = 0;
checkifprime(c);
fputc('\n',stdout);
// you had a typo here "=" instead of "=="
if (factors == 0) {
printf("%d is a prime number\n", c);
} else {
printf("%d is NOT a prime number\n", c);
}
}
}
exit(EXIT_SUCCESS);
}
int checkifprime(int num)
{
int i;
if (num > 0 && num < 2147483640) {
for (i = num - 1; i > 1; i--)
{
if (num % i == 0) {
factors = factors + 1;
printf(" %d", i);
}
}
}
//program finished
return 0;
}
它仍然不理想,但至少它可以工作并且您可以在它的基础上进行构建。
关于c - 我无法让这段代码正常运行。显示 1 到 100 之间的质数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39946336/
我知道这不是寻找素数的最佳方法,也不是最有效的方法;但是,我似乎无法找到 169 算作素数的原因(就我而言,对于较小的数字,它可以正常工作)。 public static int checkPrime
有人可以指导我获取素数吗?这是家庭作业,所以我不想要答案,但一些指示将不胜感激。这真的让我很烦:( 我想我很接近。但是我遇到的问题是数字 25 和 35。它们不是质数,但是这个函数正在返回它们 var
利用正则判别素数,来源于网络,神人! 复制代码 代码如下: Set regex = New RegExp regex.Pattern = "^1?$&b
质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑
我在 Ruby on Rails 中尝试如何找到质数。这是我的代码: 助手:app/helpers/test_helper.rb module TestHelper
lower = int(input("from:")) upper = int(input("to:")) for num in range(lower,upper + 1): if num >
最近我对 LINQ 很感兴趣。我正在尝试获取质数。我实际上做得很好,但我的代码没有显示低于 Sqrt(n) 的素数。 static void Main(string[] args) {
在尝试设计算法时,我偶然发现了这个问题。这不是家庭作业。 令 P_i = 前 i 个素数的数组。现在我需要最小的 i 这样 Sum 1 / (P_i[n]*P_i[n]) >= 1. (如果这样的
本文已收录到 AndroidFamily ,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周跟大家讲到小彭文章风格的问题,和一些朋友聊过以后,
我是新来的。我正在尝试解决此练习 Problem 18只是为了加强我的解决能力。我已经编码了答案。该任务要求“在 1,000,000 以下的质数中,有多少个数位之和等于两周中的天数?” (两周是 14
我是一名优秀的程序员,十分优秀!