Pascal完善程序,剪绳子,二分法

Pascal完善程序,剪绳子,二分法,第1张

Var n,min,max,i,ans,s:integer

a:array[1..100] of integer

begin

readln(n)

min:=maxint

max:=1

for i:=1 to n do begin

read(a[i])

if a[i]>max then max:=a[i]

end

repeat

ans:=s

s:=0

for i:=1 to n do

s:=s+1

if min<ans then min:=ans

else max:=ans-1

until min=max

writeln(min)

End.

int a,b,c

for(a = 1 a<=21/2 a++)

{

    for(b = a b<=21/2 b++)

    {

        if(a<=b && b<=c && (a+b) > c)

        {

            char czOutput[256] = {0}

            sprintf_s(czOutput, sizeof(czOutput), "a=%d, b=%d, c=%d\n", a, b, c)

            

            wchar_t wOutput[1024] = {0}

            mbstowcs(wOutput, czOutput, sizeof(czOutput))

            OutputDebugStr((LPCWSTR)wOutput)

        }

    }

}

输出:

a=1,b=10,c=10

c=2,b=9,c=10

a=3,b=8,c=10

a=3,b=9,c=9

a=4,b=7,c=10

a=4,b=8,c=9

a=5,b=6,c=10

a=5,b=7,c=9

a=5,b=8,c=8

a=6,b=6,c=9

a=6,b=7,c=8

a=7,b=7,c=7

显然,对折

1次,有2层绳子,中间剪断后,有2段短绳,1段弯头长绳,共3段。

2次,有4层绳子,中间剪断后,有2段短绳,3段弯头长绳,共5段。

3次,有8层绳子,中间剪断后,有2段短绳,7段弯头长绳,共9段。

因此折三折,再折三折,即对折6次,共64层,65段。

另外,如果你说的三折,是一次把绳子折两个弯头这样。

折三折,再折三折,有9层,剪断后有2段短绳,8段弯头长绳,共10段


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11812927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存