в сегодняшней статье я расскажу о задаче программирования под названием: ксилема и число флоэмы. Я собираюсь реализовать программу на языке программирования C++. давайте начнем и посмотрим, что такое число ксилемы и флоэмы.
Число ксилемы — это число, сумма крайних цифр которого равна сумме средних цифр, но если это условие неверно, то это число является флоэмой. например :
давайте выберем случайное число: 342332;
- средние цифры: 4233
- крайние цифры: 3 и 2
как вы могли подсчитать, сумма его средних цифр больше, чем другая сумма. Итак, это число флоэмы:
сумма средних цифр != сумма крайних цифр
теперь давайте реализуем код на C++, мой алгоритм:
- создать строковую функцию для категоризации числа
- в функции, хранить цифры в векторе, вычислять суммы
- с условным оператором определить категорию
код:
#include <iostream> #include <vector> using namespace std ; string PhloemOrXylem(int n){ vector<int> digits ; while (n!=0){ digits.insert(digits.begin(),n%10); n/=10 ; } int i , sumOfMean = 0 , SumOfExtreme = digits.front() + digits.back(); for (i=1;i<digits.size()-1;i++){ sumOfMean += digits[i] ; } if (sumOfMean == SumOfExtreme){ return "Xylem"; } return "Phloem"; } int main(){ int num = 32313322; cout << PhloemOrXylem(num) << endl ; return 0; }