в сегодняшней статье я расскажу о задаче программирования под названием: ксилема и число флоэмы. Я собираюсь реализовать программу на языке программирования 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;
}