Самый простой вариант - подсчитать сумму четных и нечётных через цикл, в котором берём остатки от деления. Можно начать с конца и соответственно начать подсчитывать сумму только от первого числа с конца не равного 0. Подсчитываем через целочисленное деление на круглое число и нахождение остатка при деление на один. Данные, чередуя, прибавляем к разным переменным(пусть будут x1 и x2). Затем проверяем остаток от деления одной переменной на другую. Если 0 - "Yes", иначе - "No" For i=5 downto 1 do If i Mod 2 = 1 then a:= a+n div (10^(i-1)) mod 10 Else B=B+ div (10^(i-1)) mod 10;
//перевод числа из системы исчисления //с основанием от 2 до 9 в десятичную #include <iostream> #include <cstdlib> #include <cstring> using namespace std; int pss(char sr[80], int i, int osn) { static int s; char ch=sr[i-1]; if (i==strlen(sr)) s=1; s=s*osn; if (1<i) return (atoi(&ch)+pss(sr,i-1,osn)*osn); else return (atoi(&ch)); } int main(int argc, char** argv) { int osn=0; char st[80]; cout<<" задайте основание (от 2 до 9) "; cin>>osn; cout<<endl; cout<<"число: "; cin>>st; cout<<endl; cout<<"в десятичной системе: " <<pss(st,strlen(st),osn); return(0); }
//с основанием от 2 до 9 в десятичную
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int pss(char sr[80], int i, int osn)
{
static int s;
char ch=sr[i-1];
if (i==strlen(sr)) s=1;
s=s*osn;
if (1<i) return (atoi(&ch)+pss(sr,i-1,osn)*osn);
else return (atoi(&ch));
}
int main(int argc, char** argv)
{
int osn=0;
char st[80];
cout<<" задайте основание (от 2 до 9) ";
cin>>osn; cout<<endl;
cout<<"число: "; cin>>st; cout<<endl;
cout<<"в десятичной системе: "
<<pss(st,strlen(st),osn);
return(0);
}