Możliwe, że sito dobrze przesiewa i to rozumiem, ale zupełnie nie rozumiem, dlaczego wychodzi, dlaczego twój program wyrzuca zupełnie co innego, niż jest w zadaniu po słowie output?
OUTPUT:
TAK
NIE
NIE
Możliwe, że źle prosisz [twój program prosi] o n? No i nie ma tam żadnego 1 2 3 4, tylko n = 3 i [11, 1, 4]
POMOCY! Błąd:błędna odp.
#include <iostream> using namespace std; long long n,l; bool p(long long n) { if(n<=2) return false; for(int i=2; i*i<=n; i++) if(n%i==0) return false; return true; } int main() { cin>>l; for(int i=0; i<l; i++) { cin>>n; if(p(n)) cout<<"TAK"<<endl; else cout<<"NIE"<<endl; } return 0; }
Witam, Czy mógłby mi ktoś pomóc z kodem. Na moim komputerze działa wszystko ok, natomiast po wrzuceniu na ideone wyrzuca same odpowiedzi na NIE. Co trzeba poprawić?
include
using namespace std;
int n,i,x;
bool pierw (int t)
{
for (x=2; x {
if((t%x) == 0) return true;
}
}
int main()
{
cin>>n;
int tab[n-1];
for (i=0;i {
cin>>tab[i];
if(pierw(tab[i]) || tab[i]==1)
{
cout<<"NIE"< }
else cout<<"TAK"< }
return 0;
}
include
using namespace std;
long int n;
int main()
{
cout << "Podaj ilosc sprawdzanych liczb:";
cin >> n;
int *tablica;
tablica= new int [n];
for (int i=0; i<n; i++)
{
cout<< "Podaj liczbe nr. " << i+1 <<":" ;
cin >> tablica[i];
}
for (int i=0; i<n; i++)
{
int liczba;
string x;
if (*tablica<2);
if (*tablica==2) cout << "TAK";
else
{
for (int i=1; i<*tablica-1; i++)
{
liczba=*tablica%(*tablica-i);
if (liczba==0) {x="NIE"; i=*tablica;}
else x="TAK";
}
}
cout << x<<endl;
tablica++;
}
return 0;
}
Witam
Dlaczego sędzia nie może uznac tego kodu ? Komunikat to Przekroczono limit czasu.
Pozdrawiam
Po pierwsze nie wypisuj niczego czego niema w specyfikacji wyjścia, wyniki sprawdza komputer więc "Podaj ilosc sprawdzanych liczb:" oraz "Podaj liczbe nr. cośtam" zostaną uznane za błędne odpowiedzi. Co zaś się tyczy przekroczenia limitu czasu, to przy sprawdzaniu czy 1 jest liczbą pierwszą nie wypisze mi nic (mi zresztą kompilator zwrócił uwagę że masz ifa który nie nie robi nawet jeśli warunek jest prawdziwy).
ps nie musisz korzystać z tablic, możesz wczytać liczbę, sprawdzić ją, wypisać i wczytać następną.
Witam, mógłby ktoś dać jakąś wskazówkę?
include
> using namespace std; > int main() > { > int n,x; > cin >> n; > int tab [n]; > for (int i=0; i<n; i++) > { cin >> x; > tab[i]=x; } > for (int i=0; i<n; i++) > { > for (int a=2; a<n; a++) > { > if (tab[i]%a==0) > cout << "NIE" << endl; > else > cout << "TAK" << endl; > }} > return 0; > }
No przede wszystkim nie sprawdzasz podzielności do ilości liczb pierwszych tylko do liczby, Po co zmienna x? Można wpisać prosto do tablicy, która tak przy okazji jest niepotrzebna. Zmień układ pętli, dla znalezionego dzielnika przerwij pętlę i zajmij się wypisaniem (jakiś bool może pomóc albo coś). Bo jak na to na razie patrzę to nie działa to chyba zbyt dobrze.