Napisz program w języku c++ korzystając z tekstów char/string. Treść zadania to:
Janek znalazł zeszyt, w którym znajdują się bardzo długie liczby. Teraz (nie wiadomo dlaczego) zastanawia się, ile z nich dzieli się przez 15. A czy Ty sobie poradzisz z tym problemem? Wejście W pierwszym wierszu wejścia znajduje się jedna liczba n (1 ≤ n ≤ 10). W następnych n liniach znajduje się n liczb naturalnych xi, (1 ≤ xi ≤ 10100 000) Wyjście W oddzielnych liniach należy wypisać n odpowiedzi na pytanie, czy poszczególne liczby dzielą się bez reszty przez 15 (TAK lub NIE).
Dla danych wejściowych: 3 11111115 222 300 poprawną odpowiedzią jest: TAK NIE TAK
vector<string> numbers; // przechowuje wprowadzone liczby
for (int i = 0; i < n; i++) {
string number;
cin >> number;
numbers.push_back(number); // dodajemy wprowadzoną liczbę do wektora
}
// sprawdzamy, które liczby są podzielne przez 15 i wyświetlamy odpowiedzi na końcu
for (int i = 0; i < n; i++) {
if (divisibleBy15(numbers[i])) {
cout << "TAK" << endl;
} else {
cout << "NIE" << endl;
}
}
return 0;
}
1 votes Thanks 1
Miloooo2713718294723
Dałbyś radę, aby odpowiedzi do danych na wejściu były wyświetlane dopiero po skończeniu wprowadzania danych wejściowych? w sensie żeby po wpisaniu jednej danej nie wypisywało od razu TAK albo NIE tylko dopiero na koniec
#include <iostream>
#include <string>
#include <vector>
using namespace std;
bool divisibleBy15(string number) {
int n = number.size();
int lastDigit = number[n - 1] - '0'; // konwersja ostatniego znaku na cyfrę
return (lastDigit == 5 || lastDigit == 0) && stoi(number) % 3 == 0 && stoi(number) % 5 == 0;
}
int main() {
int n;
cin >> n;
vector<string> numbers; // przechowuje wprowadzone liczby
for (int i = 0; i < n; i++) {
string number;
cin >> number;
numbers.push_back(number); // dodajemy wprowadzoną liczbę do wektora
}
// sprawdzamy, które liczby są podzielne przez 15 i wyświetlamy odpowiedzi na końcu
for (int i = 0; i < n; i++) {
if (divisibleBy15(numbers[i])) {
cout << "TAK" << endl;
} else {
cout << "NIE" << endl;
}
}
return 0;
}