big horizontally symmetric number

1 次查看(过去 30 天)
Nguyen Huy
Nguyen Huy 2021-5-20
编辑: Nguyen Huy 2021-5-20
%given a number x.calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry.those numbers are [0 1 3 8]
%example x=27=> output =3 because 27+3=30 (horizontal symmetry)
%my code is success with small number,but with big number it is out of memory,so how could i fix it
function y = symmetry(x)
c=x
for i=1:inf
a=num2str(x);
b=uint64(zeros(1,length(a)));
for j=1:length(a)
b(j)=str2num(a(j));
end
b=b(b~=0);
b=b(b~=1);
b=b(b~=3);
b=b(b~=8);
if isempty(b)==1
break
end
x=x+1;
end
y=x-c
end
%take example of big number is x=34567890
  1 个评论
KSSV
KSSV 2021-5-20
Why 3 should be added to 27 to get 30? How 30 is horizontal symmetric? Question is not clear. Can you give another example?

请先登录,再进行评论。

回答(1 个)

Nguyen Huy
Nguyen Huy 2021-5-20
编辑:Nguyen Huy 2021-5-20
horizontal symmetric is when you have a line divine the number into 2 part,the upper part and lower part look the same
Example: 30 because 30=> ) /\
=====
) \/
Example2: add 100 to 900 to get horizontal symmetric number 900+100=1000=> | /\ /\ /\
==========
| \/ \/ \/

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by