Ввести целочисленный массив X(N), элементами которого являются числа из диапазона [-40..40]. Подсчитать сумму элементов массива кратных 3. Написать программу в C++.
Нету пожелания по поводу языка, так то пишу на с++. С объяснением. #include<iostream>#include<fstream> #include<string> // подключаю библиотеку для работы со строками #include <sstream> // Подключаю библиотеку для работы с функцией erase
using namespace std;
int main() { string tt; //заказываю строку cin >> tt; // читаю строку while (tt.find('3')<tt.size()){ // пока символ 3 присутствует в строке... tt.erase(tt.find('3'), 1); // ... мы удаляем его } while (tt.find('6')<tt.size()){ // пока символ 6 присутствует в строке... tt.erase(tt.find('6'), 1); // ...мы удаляем его } cout << tt; // вывод строки return 0; } Как то так, причем вводимое число может быть огромным, имеющее больше чем 255 знаков.
Что мы знаем про число x? То, что оно делится на 18 и 54. Значит, что оно делится на их множители, но особым который я сейчас объясню. Итак, число А делиться на число В, если в В есть все множители, которые есть в А, причем в том же количестве. Это понятно. Теперь возьмем наш случай. 18=2*3*3, 54=2*3*3*3. Это значит, что число х делиться на 2 и на 3. И более не на какие простые числа, теперь попробуем собрать максимальное число. Заметим, что число 18 нам вообще не понадобиться, так как оно является делителем 54. Значит, это число 54. Докажем это. Заметим, что любое число представимо в виде простых чисел. Отсюда следует, что x=2*3*3*3*m1*m2*...*mn. Заметим, что m вообще не может быть и x=54. Простые числа не представляются в виде других простых чисел, даже если взять их все. Значит, x только так и представимо, как я показал ранее. Значит, мы можем утверждать только о известных множителях, иначе можно нарваться на такой случай, когда их нет. Таким образом мы доказали, что это число 54.
#include<iostream>#include<fstream>
#include<string> // подключаю библиотеку для работы со строками
#include <sstream> // Подключаю библиотеку для работы с функцией erase
using namespace std;
int main() {
string tt; //заказываю строку
cin >> tt; // читаю строку
while (tt.find('3')<tt.size()){ // пока символ 3 присутствует в строке...
tt.erase(tt.find('3'), 1); // ... мы удаляем его
}
while (tt.find('6')<tt.size()){ // пока символ 6 присутствует в строке...
tt.erase(tt.find('6'), 1); // ...мы удаляем его
}
cout << tt; // вывод строки
return 0;
}
Как то так, причем вводимое число может быть огромным, имеющее больше чем 255 знаков.