Project1

标题: 用QB编写程序 [打印本页]

作者: kvkv97    时间: 2014-1-13 17:27
标题: 用QB编写程序
5.输入两个正整数a,b。其中:b最大不超过999,a不大于31。使a在左,b在右,拼接成一个新的数c。例如:a=2,b=16,则c=216;若a=18,b=476,则c=18476。   
提示:求c的公式为:c=a×K+b   
其中: k=10 ,当B为一位数时(0<b<10);k=100,当B为两位数时(10<=b<100);k=1000,当B为三位数时(100<=b<1000)

作者: myownroc    时间: 2014-1-13 18:23
本帖最后由 myownroc 于 2014-1-13 18:24 编辑

下次不要发错区
  1. l = len(str(b))
  2. k = 10^l
  3. c = a*k + b
复制代码
未测试过,目测可以。
作者: yagami    时间: 2014-1-14 21:37
本帖最后由 yagami 于 2014-1-14 21:46 编辑
myownroc 发表于 2014-1-13 18:23
下次不要发错区未测试过,目测可以。


用了字符窜 还不如 (a.to_s+b.to_s).to_i呢- -
本质上算法 不能和字符窜打交道 要完全当数处理
int k = 1;
int d = b;
while(d>0)
{
    d/=10;
    k*=10;
}
c =a*k+b




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1