第四题

4.求所有的两个三位数的乘积中,最大的回文数。

解: 首先回文数是指反转之后仍然不变的数,eg: 121 , 343

         然后这个题目求的是两个三位数的乘积,最大为 999*999=998001,则从998899这个数开始往前推,即找到998这个数进行求解。

 答案:906609=993*913

 首先是怎么求1000以下的回文数:

x=[];
j=1;
for  i=10:1000
      str=num2str(i);  %数字转化成字符
      if  i= str2num(str(end:-1:1))  %判断是否回文
      x(j)=i;  %数组列出回文数
      j=j+1;
end
end
disp(x)

  

解题目:

for i=998:-1:100
     str=num2str(i);
     num=str2num(strcat(str,str(3:-1:1)));  %将100到998之间的数倒转以后和它们本身组合,形成回文数
    x=find (rem(num,100:999)==0) ;
    y=num/max (x);
  if y<999
   fprintf('num%d\n',num);
   break;
end
end
num


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值