返学费网 > 培训机构 > 南京童程童美少儿编程

13160092935

全国统一学习专线 8:30-21:00

想了解少儿编程,机器人编程,C++,Python,信息学奥赛等详细了解南京少儿信息学奥赛编程兼职

1.pascal 信息学奥赛编程 50分跪求

数据规模 比较 小 可以考虑用 dp 做 背包问题 容量 为 total div 2 (如果 not odd(tot))tot 为奇数 那无解。 然后 算出 装满 total div 2 的总方案数。 应为 左右调换 是同一种情况 结果 就 div 2

2.信息学奥赛试题(计算机编程)

合并果子。。。。。。。 当然是合并9次了。。。(这个不解释了,稍微想下就懂了) 合并方法是取两堆最小的合并,然后把他们的和作为新的一堆,去掉原来的两堆,再选最小两堆(新加入的也要比较)。。。。直到只剩1堆 话说这数据很小。。。就合并一次排序一次吧。。。。

3.计算机编程:信息学奥赛选拔试题

c1 = 138 * 10 + 9Dim n() As Long, s() As String, l As Long, lmax As Long, s_xinxi As Stringl = 0For i1 = 8 To c1 Step 8For i2 = 0 To c1 Step 6For i3 = 0 To c1 Step 5For i4 = 0 To c1 Step 4If i1 + i2 + i3 + i4 = c1 Then ReDim Preserve n(l) '记录总数 ReDim Preserve s(l) '记录排列 n(l) = i1 \ 8 + i2 \ 6 + i3 \ 5 + i4 \ 4 s(l) = "8毛:" & i1 \ 8 & "只,6毛:" & i2 \ 6 & "只,5毛:" & i3 \ 5 & "只,4毛:" & i4 \ 4 & "只" If n(l) > lmax Then lmax = n(l) l = l + 1End .Caption = "排列数" & l & "---最多铅笔数" & lmax & "----计算进度" & Format(i1 * 100 / c1, "00.0") & "%"_xinxi = ""For i = 0 To lmax - 1 If n(i) = lmax Then s_xinxi = s_xinxi & s(i) & vbCrLf End s_xinxi '优化代码c1 = 138 * 10 + 9 '钱数随便写 单位毛Dim s() As String, l As Long, lmax As Long, s_xinxi As Stringl = 0lmax = (c1 - 8) \ 4 + 1For i1 = 8 To c1 Step 8 For i2 = 0 To c1 Step 6 For i3 = 0 To c1 Step 5 i4 = c1 - i1 - i2 - i3 If i4 Mod 4 = 0 Then If i1 + i2 + i3 + i4 = c1 And i1 \ 8 + i2 \ 6 + i3 \ 5 + i4 \ 4 = lmax Then ReDim Preserve s(l) '记录排列 s(l) = "8毛:" & i1 \ 8 & "只,6毛:" & i2 \ 6 & "只,5毛:" & i3 \ 5 & "只,4毛:" & i4 \ 4 & "只" l = l + 1 End If End If If i1 \ 8 + i2 \ 6 + i3 \ 5 + (c1 - i1 - i2 - i3) \ 4 < lmax Then Exit For Next If i1 \ 8 + i2 \ 6 + (c1 - i1 - i2) \ 4 < lmax Then Exit For Next If i1 \ 8 + (c1 - i1) \ 4 < lmax Then Exit ForNexts_xinxi = ""For i = 0 To l - 1 s_xinxi = s_xinxi & s(i) & s_xinxi

4.请教一道信息学奥赛的pascal语言编程题

var name:array[1..100]of string; m:array[1..100]of longint; i,k,l,n,s1,s2:integer; max,sum:longint; ch1,ch2,ch:char; begin assign(input,'***.in'); reset(input); readln(n); for i:=1 to n do begin name[i]:='';m[i]:=0; repeat read(ch); if ch<>' ' then name[i]:=name[i]+ch; until ch=' '; read(s1,s2); read(ch1,ch1,ch2,ch2); readln(l); if (s1>80)and(l>=1) then m[i]:=m[i]+8000; if (s1>85)and(s2>80) then m[i]:=m[i]+4000; if s1>90 then m[i]:=m[i]+2000; if (s1>85)and(ch2='Y') then m[i]:=m[i]+1000; if (s2>80)and(ch1='Y') then m[i]:=m[i]+850; end; close(input); sum:=0;max:=0; for i:=1 to n do begin sum:=sum+m[i]; if max<m[i] then begin max:=m[i];k:=i; end; end; assign(output,'scholar.out'); rewrite(output); writeln(name[k]); writeln(max); writeln(sum); close(output); end.

想了解线上,线下课程,费用,地址的详细了解pascal 信息学奥赛编程 50分跪求,信息学奥赛试题(计算机编程),计算机编程:信息学奥赛选拔试题,请教一道信息学奥赛的pascal语言编程题??

温馨提示:为不影响您的学业,来校区前请先电话咨询,方便我校安排相关的专业老师为您解答
  • 热门课程
姓名不能为空
手机号格式错误