Я писал код, который вычисляет два фактора для любого заданного числа, используя два вложенных цикла «Пока», но после одной итерации цикл просто останавливается
программа
#include <iostream>
#include <conio.h>
using namespace std;
long int Password;
void main()
{
long int n=2,n1=2;
cout<<"Type the number whose factor you need"<<endl;
cin>>Password;
while( n < 3600 )
{
while( n1 < 3600 )
{
if( n*n1 == Password )
{
cout<<"your Factors are "<<n<<" and "<<n1<<endl;
getch();
}
else
{
n1++;
break;
}
}
n++;
}
}
Вывод работает только для небольших чисел, но когда вставляются немного большие числа, программа завершается. Я не понимаю проблему, так как код совершенно в порядке. У меня менее мощный процессор?
Ваша программа не рассчитывает факторы любого числа. Также, название номера «Пароль» сбивает с толку.
Может быть, вы хотите что-то подобное в C ++:
#include <iostream>
using namespace std;
int main() {
unsigned int number;
cout << "Enter a positive integer whose factors you need: " << endl;
cin >> number;
cout << "Factors of " << number << " are ";
for (int i = 1; i <= number; ++i) {
if (number % i == 0)
cout << i << " ";
}
cout << endl;
return 0;
}
Как было отмечено в комментариях, в C ++ у вас есть int main()
не void main()
хотя некоторые компиляторы поддерживают void main()
,
Других решений пока нет …