[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理可不可以作所有数学运算?

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

开平方根……
有哪位高手

TOP

我想到的是set num=0,然后一点点set /a num+=1,直到得到正确的结果。>_<

TOP

回复 3楼 的帖子

可以先google一下有没有好的数学公式
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

效率不怎么样
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 1000) do set /a n=%%i*%%i,_!n!=n
  3. for /l %%i in (1 1 %n%) do (
  4.     set /a i=%%i+100,j=i+168
  5.     if defined _!i! if defined _!j! echo %%i
  6. )
  7. pause
复制代码

TOP

答案是:156
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /l %%a in (10 1 300) do (set /a X=%%a*%%a
  3. echo.%%a^^=!X!
  4. ))>X.txt
  5. for /f "tokens=2 delims==" %%a in (X.txt) do (
  6. set /a Z=%%a-100
  7. set /a Z=!Z!+168
  8. for /f "tokens=2 delims==" %%b in ('findstr /X ".*=!Z!" X.txt') do (
  9. set /a Z=%%b-168
  10. echo..!Z!+100=%%a;        .!Z!+168^=%%b
  11. findstr /X ".*=%%a .*=%%b" X.txt
  12. ))   
  13. pause
复制代码
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
我只是理解?+100和?+168分别加...

[ 本帖最后由 qq106942397 于 2010-8-26 09:39 编辑 ]

TOP

terse,你的效率不高的原因可能是定义的变量太多了原因吧?如果缩小一点范围的话效率应该就提高了
6楼明显不对,156+100+168=424
努力学习,努力挣分

TOP

一个数+100是a^2,+268是b^2,用b^2 - a^2 = 168;
(b+a)(b-a) = 168;因为b+a和b-a的奇偶性必然相同,因此可以知道a,b都可以被2整除
设a' = a/2; b' = b/2,则(a‘+b')(b'-a') = 42;
同理,a'+b'和b'-a'的奇偶性也相同,而42能被2整除但不能被4整除,因此无解!

TOP

楼上分析的不错,可惜最后推导错了,导致与正确结果无缘,可惜啊。

这个数为:
21

261

1581

[ 本帖最后由 slore 于 2010-8-28 09:35 编辑 ]

TOP

返回列表