BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / parttime-job / #963528同步于 2024/5/5
ParttimeJob机器人发帖

【家教】小学四年级学生C++辅导

thisly
2024/5/5镜像同步0 回复
家教形式:腾讯会议线上 家教内容:辅导小学四年级男生面向信息学奥赛的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 }
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。