#include <stdio.h>
int main()
{
int a,b,e,d;
a=192345; //Число
e=5; //Номер цифры
int c[1000000];
d=0;
while(a>0)
{
b=a%10;
d++;
c[d]=b;
a/=10;
}
for(int i=d;i>0;i--){
if((d-i+1)==e)printf("Цифра %d\n",c[i]); //Вывод искомой цифры
}
return 0;
}
Первое:
var cookie = 25, milk = 10, coffee = 3; var count_cookie = 0.5, count_milk = 2, count_coffee = 5; var money = 50;
function ТчкЗпт(ч) { return String(ч).replace(".",","); }
document.write("Печенье в клеточку: " + cookie + " грн * " + ТчкЗпт(count_cookie) + " = " + ТчкЗпт(cookie * count_cookie) + "<br />");
document.write("Молоко бычье: " + milk + " грн * " + ТчкЗпт(count_milk) + " = " + ТчкЗпт(milk * count_milk) + "<br />");
document.write("Кофе: " + coffee + " грн * " + ТчкЗпт(count_coffee) + " = " + ТчкЗпт(coffee * count_coffee) + "<br /><br />");
document.write("Наличка: " + money + "<br />");document.write("Сдача: " + (money - cookie * count_cookie - milk * count_milk - coffee * count_coffee));
Второе:
var a=85;
var n1=a%10;
var n2= (a - n1) / 10;
var a=851;
var n1=a % 10;
var n2= (a % 100 - n1) / 10;
var n3= (a - n2 * 10 - n1) / 100;
var a=8511;
var n1=a % 10;
var n2= (a % 100 - n1) / 10;
var n3= (a % 1000 - n2 * 10 - n1) / 100;
var n4= (a - n3 * 100 - n2 * 10 - n1) / 1000;
<u>PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var a:=ReadlnString;
var (m,n):=ReadInteger2('Введите через пробел m и n:');
Swap(a[m],a[n]); a.Println;
end.
<u>Пример</u>
Информатика
Введите через пробел m и n: 5 2
Ирфонматика
Такой вариант на простом паскале со стратегией жадность
var
n, s, i: integer;
x: array[1..100]of integer;
answer: string;
begin
readln(n);
for i := 1 to n do
read(x[i]);
readln(s);
answer := IntToStr(s) + ' = ';
for i := n downto 1 do
begin
answer := answer + IntToStr(s div x[i]) + '*' + IntToStr(x[i]);
s := s mod x[i];
if i > 1 then
answer := answer + ' + ';
end;
if s <> 0 then
writeln('NO')
else
writeln(answer);
end.
Более полный и правильный вариант решения, но и куда более сложный
//PascalABC.Net 3.1 сборка 1200
uses System.Collections.Generic;
uses System;
var
x := new List<integer>;
c := new List<Tuple<string, integer>>;
procedure getParcelling(sum, step: integer; coefficients: string; count: integer);
begin
if step >= x.Count then begin
if sum = 0 then c.Add((coefficients, count));
Exit;
end;
if step < 0 then step := 0;
for var j := 0 to (sum div x[step]) do
begin
var s := '';
if j > 0 then begin
if step > 0 then s += ' + ';
s += IntToStr(j) + '*' + IntToStr(x[step]);
end;
getParcelling(sum - x[step] * j, step + 1, coefficients + s, count + j);
end;
end;
begin
x := ReadArrInteger('x:', ReadInteger('n =')).ToList;
var sum := ReadInteger('sum =');
getParcelling(sum, 0, '', 0);
if c.Count = 0 then
writeln('No')
else begin
var min := c.Min(cc -> cc.Item2);
Println(c.Where(cc -> cc.Item2 = min));
end;
end.
//PascalABC.Net 3.1.0.1200
begin
var a := ArrRandomInteger(100, 1, 100).toList;
Println(A);
a := a.Sorted.toList;
a := a.Pairwise().Where(x -> x.Item1 = x.Item2).Select(x -> x.Item1).toList;
a := a.Distinct.toList;
Println(A);
end.