и ещё сравнение с 1, а не с 2
Ниже исправленный вариант:
#include <iostream>
using namespace std;
int main()
{
int i,j;
int sum;
for (i=2; i<101; i++)
{
for(sum=0,j=2; j<101; j++) if (i%j==0) sum++;
if(sum==1) cout << i << "\t";
}
system ("pause");
return 0;
}
Другие языки программирования и технологии
Помогите разобраться в C++ с программой по поиску простых чисел
бегло прочистил от лишних скобок не влияющих.
и перебросил объявления переменных i и j, это тут тоже не влияет:
и слегка озадачился алгоритму
int main() {
int sum = 0;
for (int i=2; i< 101; i++) {
for (int j=2; j< 101; j++) if (i%j == 0) sum ++ ;
if (sum==2)cout << i << "\t";
}
system ("pause");
return 0;
}
сомнения вызывают
for (int j=2; j< 101; j++) if (i%j == 0) sum ++ ; // если делится то сумму попавшихся делимостей увеличить -сработает на каждом i%j==0
и
if (sum==2)cout << i << "\t"; если сумма равна двум то вывести счетчик внешнего цикла - сработает однажды, если во всех внутренних циклах накопленных к этому моменту попадется ровно два увеличения summ
ну и сами пределы циклов - тут я не стал копать
и перебросил объявления переменных i и j, это тут тоже не влияет:
и слегка озадачился алгоритму
int main() {
int sum = 0;
for (int i=2; i< 101; i++) {
for (int j=2; j< 101; j++) if (i%j == 0) sum ++ ;
if (sum==2)cout << i << "\t";
}
system ("pause");
return 0;
}
сомнения вызывают
for (int j=2; j< 101; j++) if (i%j == 0) sum ++ ; // если делится то сумму попавшихся делимостей увеличить -сработает на каждом i%j==0
и
if (sum==2)cout << i << "\t"; если сумма равна двум то вывести счетчик внешнего цикла - сработает однажды, если во всех внутренних циклах накопленных к этому моменту попадется ровно два увеличения summ
ну и сами пределы циклов - тут я не стал копать
#include<iostream>
using namespace std;
int main(){
for (int i = 2; i < 100; i++){
bool prime = true;
for (int j = 2; j * j <= i; j++){
if (i % j == 0){
prime = false;
}
}
if (prime) cout << i << " ";
}
}
using namespace std;
int main(){
for (int i = 2; i < 100; i++){
bool prime = true;
for (int j = 2; j * j <= i; j++){
if (i % j == 0){
prime = false;
}
}
if (prime) cout << i << " ";
}
}
Похожие вопросы
- c++ сильно завис алгоритм нахождения простых чисел - пару вопросов ?
- Программа по нахождению простых чисел от 1 до 100
- C++ Помогите написать программу, которая выводит первые n простых чисел.
- Помогите найти, алгоритм нахождения Произведения простых чисел, на С++, или литературу которая поможет разобраться.
- простые числа c++
- C++, написать программу, цикл for Программа, которая определяет является ли введенное число простым.
- Пожалуйста помогите разобраться с даним кодом C++. Тема : Односвязание списки
- Помогите найти алгоритм вычисления простых чисел
- Помогите на С# написать программу на поиск Синуса с косинусом.
- Помогите разобраться с написанием программы Паскале!