big horizontally symmetric number

2 次查看(过去 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 中查找有关 Get Started with MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by