返回信息流家教形式:腾讯会议线上
家教内容:辅导小学四年级男生面向信息学奥赛的C++编程,主要是陪孩子在atcoder或洛谷刷题,或针对孩子在培训班不懂的题进行讲解。
要求:擅长C++编程,参加过信息学奥赛更好
待遇:一次课2小时300元,如果有经验,可面谈。
上课时间:根据双方时间协调,通常是平时晚上或周末。
联系方式:站内或手机号13581551297(微信同号)
下面是一个相对难度不大的例题,供参考:
【题目描述】
小美刚刚学习了十六进制,她觉得很有趣,想到是不是还有更大的进制呢?
在十六进制中,用‘A’表示10、‘F’表示15。如果扩展到用‘Z’表示35,岂
不是可以表示36 进制数了嘛!
【输入格式】
输入2 行,第一行包含一个正整数N,第二行包含一个正整数R。
保证1≤N≤1000000,2≤R≤36
【输出格式】
输出1 行,为N 的R 进制表示。
下面是一道相对难度大点的例题,供参考:
2、(n 的n 次方之和) 计算1^1 + 2^2 + 3^3 + … + n^n 的高精度值。(1 ≤ n ≤ 20)
试补全该程序。
01 #include<iostream>
02 #include<string.h>
03 using namespace std;
04 const int MAXN=250;
05 int n, t, i, j, k, la, lb, x[10], a[MAXN], b[MAXN];
06 void f(int *a){
07 for(int i = 0; i < MAXN; i++){
08 if(a[i] >= 10){
09 a[i+1] += a[i] / 10;
10 a[i] %= 10;
11 }
12 }
13 }
14 int main(){
15 cin>>n;
16 ①;
17 for(i=2;i<= 9;i++){
18 t=1;
19 for(j=1;j<=i;j++){
20 t*=i;
21 }
22 x[i]=t;
23 }
24 for(i=2;i<=9;i++)
25 ②;
26 if(!(n/10))
27 cout << x[n];
28 else{
29 for(k=i;k<=n;k++){
30 memset(a,0,sizeof(a));
31 t=k,la=0;
32 while(t){
33 a[la++]=t%10;
34 t/=10;
35 }
36 for(i=2;i<=k;i++){
37 for(j=0;j<la;j++)
38 a[j]*=k;
39 ③;
40 t=MAXN;
41 while(!a[t])
42 t--;
43 la=t + 1;
44 }
45 for(i=0;i<la;i++)
46 b[i]+=a[i];
47 f(b);
48 lb = ④;
49 if(b[lb])
50 lb++;
51 }
52 t=⑤, i=0;
53 while(t){
54 b[i]+=t%10;
55 t/=10;
56 i++;
57 }
58 f(b);
59 for(i=lb-1;i>=0;i--)
60 cout << b[i];
61 }
62 return 0;
63 }
这是一条镜像帖。来源:北邮人论坛 / bnu / #16487同步于 2024/5/5
BNU机器人发帖
找线上家教,辅导小学四年级孩子C++编程
thisly
2024/5/5镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。