【问题标题】:How do I get my program to read prime numbers based on input validation?如何让我的程序根据输入验证读取素数?
【发布时间】:2019-11-08 06:26:25
【问题描述】:
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>

using namespace std;
bool isPrime(int num);

int main()
{
   int num;
   ofstream outputFile;

   outputFile.open("PrimeOut.txt");

// 检查文件是否打开 如果(输出文件) { cout > 数量;

   while (num < 1 && num > 100)
   {
      cout << "The number must be between 1 and 100" << endl;
   }


   if(isPrime(num) == true)
   {
      cout << num << endl;
   }
    return 0;
}
// Function for finding prime numbers
bool isPrime(int num)
{
   bool valPrime;
   for (int i = 2; i < num; i++)
   {
      valPrime = true;
   }
   return valPrime;
}

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为 OP 为明显的家庭作业练习提供了基本代码结构,但没有努力解决该作业的实质内容(在此例,检测整数值是否为素数的逻辑),希望让其他人完成作业。
  • 所以作业的重点是我正在运行一个程序,我可以在其中打印出 1 范围内的素数以输入数字。我目前只是想弄清楚如何让代码读取素数

标签: c++ loops validation numbers


【解决方案1】:

我不确定你的作业。

如果您在素数上寻找代码 sn-ps,那么您会在 SO 上找到。比如你可以看here

bool isPrime( int number )
{
    if ( ( (!(number & 1)) && number != 2 ) || (number < 2) || (number % 3 == 0 && number != 3) )
        return (false);

    for( int k = 1; 36*k*k-12*k < number;++k)
        if ( (number % (6*k+1) == 0) || (number % (6*k-1) == 0) )
            return (false);
    return true;
}

有了这个(蛮力算法,你可以找出一个数是否是素数(对于小数)。

你的程序非常有问题,而且基本上没有意义。您应该阅读几本 C++ 书籍并仔细学习。然后你需要阅读自己的代码并查看问题。

您的帖子不适合 SO。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多