forループを使用して素数を定義することはできますが、そのトピックにループを実装する前に、whileループまたはdo-whileを使用してループを作成できるとの考えがありました。 何とかdo-whileループが正しく動作していないようです。C++ do not while looping
私の理論は、除数が1になるまで除数が1ずつ減少していく除数の残りの部分を調べるための素数を見つけることができたということでした。(除数が1に達するまでは '部分はコードに含まれませんが、
ただし、残量が0になる前に停止します。 どうしたのですか? 私はまだ(remainder<1 && remainder!=1)
の代わりに両方を試したことがありますが、運はまだありません。
while (remainder<1)
while (remainder==1)
#include <iostream>
using namespace std;
int main()
{
int number, divisor, remainder;
cin >> number;
divisor=number-1;
cout << "You've put " << number << ".\n";
do {
divisor = divisor - 1;
remainder=number%divisor;
}
while (remainder<1 && remainder!=1);
cout << divisor << " " << remainder << " " << number << " " << "Divisor, remainder, number\n";
return 0;
}
私はこれが後方にあると思います。 'number = divisor-1'は' divisor = number-1'でなければなりません。 – Barmar
第2の条件は、第1の条件によって暗示される。 'remainder'が1より小さい場合、それは明らかに1ではありません。 – user4581301
私はあなたが望む条件は' while(除数> 1 && remainder!= 0) ' – Barmar