Другие языки программирования и технологии
Дано натуральное число п. Найти знакочередующуюся сумму цифр числа n:
Найти знакочередующуюся сумму цифр числа n: пусть запись n в десятичной системе есть akak-1...а0 , найти S=ak -ak-1 +..+(-1)k a0.Помогите кто может (k k-1 это нижние индексы(-1)k здесь верхний индекс
Var i, n, n1,a, s, k, znak :integer;
begin
write('vvedite chislo n ');
readln(n); n1:=n;
k:=0; {количество цифр}
while n1 <> 0 do
begin
k:=k+1;
n1 := n1 div 10;
end;
if k mod 2 = 0 then znak:=-1 else znak:=1 ;
s:=0;
while n <> 0 do
begin
a:=n mod 10;
s:=s+a*znak;
znak:=znak*(-1);
n := n div 10;
end;
writeln ( 'Знакочередующаяся сумма цифр числа = ', s);
end.
begin
write('vvedite chislo n ');
readln(n); n1:=n;
k:=0; {количество цифр}
while n1 <> 0 do
begin
k:=k+1;
n1 := n1 div 10;
end;
if k mod 2 = 0 then znak:=-1 else znak:=1 ;
s:=0;
while n <> 0 do
begin
a:=n mod 10;
s:=s+a*znak;
znak:=znak*(-1);
n := n div 10;
end;
writeln ( 'Знакочередующаяся сумма цифр числа = ', s);
end.
Находишь сколько цифр и складываешь.
Var i, n, n1,a, s, k, znak :integer;
begin
write('vvedite chislo n ');
readln(n); n1:=n;
k:=0; {количество цифр}
while n1 <> 0 do
begin
k:=k+1;
n1 := n1 div 10;
end;
if k mod 2 = 0 then znak:=-1 else znak:=1 ;
s:=0;
while n <> 0 do
begin
a:=n mod 10;
s:=s+a*znak;
znak:=znak*(-1);
n := n div 10;
end;
writeln ( 'Знакочередующаяся сумма цифр числа = ', s);
end.
begin
write('vvedite chislo n ');
readln(n); n1:=n;
k:=0; {количество цифр}
while n1 <> 0 do
begin
k:=k+1;
n1 := n1 div 10;
end;
if k mod 2 = 0 then znak:=-1 else znak:=1 ;
s:=0;
while n <> 0 do
begin
a:=n mod 10;
s:=s+a*znak;
znak:=znak*(-1);
n := n div 10;
end;
writeln ( 'Знакочередующаяся сумма цифр числа = ', s);
end.
На C# если нужно:
namespace ConsoleApplication18
{
class Program
{
static void Main(string[] args)
{
int n, n1, s, a, k, znak;
Console.WriteLine(" Введите число n =");
n = int.Parse(Console.ReadLine());
n1 = n;
k = 0;
while (n1 != 0)
{
k = k + 1;
n1 = n1 / 10;
}
if (k / 2 == 0)
{
znak = -1;
}
else
{
znak = 1;
}
s = 0;
while( n!=0 )
{
a = n % 10;
s = s + a * znak;
znak = znak * -1;
n = n / 10;
}
Console.WriteLine("Знакочередующаяся сумма цифр числа ={0}", s);
Console.ReadKey();
}
}
}
namespace ConsoleApplication18
{
class Program
{
static void Main(string[] args)
{
int n, n1, s, a, k, znak;
Console.WriteLine(" Введите число n =");
n = int.Parse(Console.ReadLine());
n1 = n;
k = 0;
while (n1 != 0)
{
k = k + 1;
n1 = n1 / 10;
}
if (k / 2 == 0)
{
znak = -1;
}
else
{
znak = 1;
}
s = 0;
while( n!=0 )
{
a = n % 10;
s = s + a * znak;
znak = znak * -1;
n = n / 10;
}
Console.WriteLine("Знакочередующаяся сумма цифр числа ={0}", s);
Console.ReadKey();
}
}
}
Похожие вопросы
- Дано натуральное число n. Найти и вывести все числа в интервале от 1 до n -1, у которых произведение всех цифр совпадает
- как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
- Дано натуральное число n и вещественная матрица размера n X 9 . Плиз помогите(
- Помогите написать программу Дано натуральное число n. Вычислить сумму всех k(k+1), k меняется от 1 до n.
- Помогите пожалуйста!Паскаль. Дано натуральное число N. Получить наименьшее число вида 2(m в степени), превосходящее N.
- В некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64. дано натуральное число N. Как на
- Дано натуральное число N. Напечатать все его делители.
- дано натуральное число N. Определить является ли оно полиндромом. Паскаль
- Паскаль. Представить натуральное число n в виде суммы трёх квадратов натуральных чисел.
- Паскаль. Дано натуральное число. Верно ли , что цифра А встречается в нем более К раз.