关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
1998年、普及组、复赛,第4届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
数字问题。
B、算法模型:
无。
C、试题说明:
三层循环挑出所有 3个不重复数组合,简明粗暴,并没有省去很多情况。
从123加到987的方法,多了两个数字重复的情况(没有算法数量级)。
#include<iostream>
using namespace std;
int main()
{
int i,j,k,h,s;
int a[10];
for(i=123;i*3<=987;i++)
{
for(h=1;h<10;h++)
a[h]=0;
a[i/100]=1;
a[i/10%10]=1;
a[i%10]=1;
j=i*2;
a[j/100]=1;
a[j/10%10]=1;
a[j%10]=1;
k=i*3;
a[k/100]=1;
a[k/10%10]=1;
a[k%10]=1;
for(s=0,h=1;h<10;h++)
s=s+a[h];
if(s==9)
cout<<"i="<<i<<" j="<<j<<" k="<<k<<endl;
}
return 0;
}
A、试题类型:
阶乘问题。
B、算法模型:
大数阶乘,大数加法。
C、试题说明:
先算出来阶乘,每算出来一次,就加上。
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int arr[10000] = {0}, a, brr[10000] = {0};
while(cin >> a)
{
int count = 1, count1 = 1; ///count为阶乘数组位数,count1为结果数组位数;
memset(arr, 0, sizeof(arr));
memset(brr, 0, sizeof(brr));
arr[0] = 1;
for(int i = 1; i <= a; i++)
{
///阶乘
for(int j = 0; j < count; j++)
{
arr[j] *= i;
}
for(int j = 0; j < count; j++)
{
if(arr[j] >= 10)
{
arr[j + 1] += arr[j] / 10;
arr[j] %= 10;
}
}
while(arr[count])
{
arr[count + 1] += arr[count] / 10;
arr[count] %= 10;
count++;
}
///plus
count1 = count;
for(int i = 0; i < count; i++)
{
brr[i] += arr[i];
if(brr[i] >= 10)
{
brr[i + 1] += brr[i] / 10;
brr[i] %= 10;
}
}
while(brr[count1])
{
brr[count1 + 1] += brr[count1] / 10;
brr[count1] %= 10;
count1++;
}
}
for(int i = count1 + 1; i >= 0; i--) ///输出
{
if(brr[i] != 0)
{
for(int j = i; j >= 0; j--)
cout << brr[j];
cout << endl;
break;
}
}
}
return 0;
}
A、试题类型:
二次幂。
B、算法模型:
无。
C、试题说明:
一个数转成二的幂次方步骤:
先把数转成二进制,例如3可以转为11,按权值展开可得2+2(0);
然后再用递归再把次方数转二进制,以此类推。
#include<iostream>
#include<cstdio>
using namespace std;
void f(int num)
{
int b[100000]={},c=0;
bool check=false;
if(num==0)
{
cout<<0;
return;
}
if(num==1)
{
cout<<"2(0)";
return;
}
if(num==2)
{
cout<<"2";
return;
}
while(num!=0)
{
b[c]=num%2;
num/=2;
c++;
}
for(register int i=c-1;i>=0;--i)
{
if(b[i]==1)
{
if(!check)
{
if(i==1)
{
cout<<"2";
check=true;
continue;
}
cout<<"2(";
f(i);
cout<<")";
check=true;
}
else
{
if(i==1)
{
cout<<"+2";
continue;
}
cout<<"+2(";
f(i);
cout<<")";
}
}
}
}
int main()
{
int x=0;
cin>>x;
f(x);
}
IT航班提供:课程视频、、课程书籍、竞赛辅导、少儿编程指导、课程采购、加盟、少儿编程资料、少儿编程课程、保送生、特长生、加分、中小学计算机教育、中小学信息学、竞赛、中小学信息学课程、人工智能、中小学编程加盟、少儿编程加盟、品牌加盟、技术加盟、技术指导、课程加盟、师资培训、中小学编程教辅资料、中小学编程教师培训、少儿编程教学书籍、少儿编程视频、教学书籍、教师培训、教学视频、CSP-J/S、中小学信息学课程服务、竞赛指导、课程提供、国内外计算机中小学计算机竞赛、信息学竞赛、信息学课程提供商、信息学奥林匹克。
IT航班支持----中小学编程比赛汇总:
第一部分:国内比赛(IT航班支持)
1、软件能力认证(CSP-JS)
2、全国青少年信息学奥林匹克联赛(NOIP)
3、全国青少年信息学奥林匹克竞赛(NOI)
4、中国青少年………………………
5、………………………创新挑战赛
6、全国青少年………………………
7、………………………
8、 恩欧希教育信息化发明创新奖
9、世界机器人大赛(WRC)
10、………………………大赛
11、少………………………智能教育成果展示大赛
12、“明天小小科学家”奖励活动
13、………………………
14、………………………
15、国际信息学………………………
16、………………………
第二部分:国际比赛(IT航班支持)
17、………………………
18、国际………………………
19、………………………
20、美国信息学………………………
21、加拿大………………………
22、官方邀请赛 (CCO)
23、国际计算思维………………………
24、美国计算机………………………
25、澳大利亚………………………
第三部分:企业比赛(IT航班支持)
26、微软MTA
27、………………………挑战赛
28、………………………科学奖
29、………………………学奖
30、………………………创新挑战赛
31、………………………挑战赛
32、………………………芯计算机表演赛
33、………………………大赛
第四部分:Scratch相关竞赛(IT航班支持)
34、全国中小学生电脑制作大赛
35、………………………
36、………………………
37、………………………
第五部分:其它(IT航班支持)
38、NOI夏令营
39、NOI冬令营(NOIWC)
40、全国青少年………………………
41、国际青少年………………………
联系方式:
A、官方网址:
B、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。