FJ的字符串
题目
- 问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗? - 输入说明
仅有一个数:N ≤ 20。 - 输出说明
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。 - 输入范例
3- 输出范例
ABACABA解题思路
- 本题思路是利用递归来生成字符串 𝐴𝑁。根据题目给出的规律可以发现:每一项字符串都是在前一项的基础上构造而来,即An-1+(第n个字母)+An-1其中第 n 个字母为 ‘A’ + (n-1)。因此可以使用递归函数来实现:当 n=1 时,返回基础字符串 “A”;当 n>1 时,先递归得到 An-1,再在中间插入对应字符,最后拼接成新的字符串。由于该结构是对称的(类似“回文扩展”),所以最终生成的字符串具有明显的递归嵌套特征。程序中通过函数 aN(n) 实现这一过程,最终输出结果即可。
整体代码
#include<bits/stdc++.h>usingnamespacestd;string res;stringaN(intn){if(n==1){return"A";}string prev=aN(n-1);charmiddle='A'+(n-1);returnprev+middle+prev;}intmain(){intN;cin>>N;cout<<aN(N)<<endl;return0;}注意事项
- 注意递归终止条件必须正确。
英文段落翻译
自己翻译
联邦学习是一种分散式的机器学习方法,它致力于在保留用户数据隐私的情况下训练模型。在传统的机器学习方法中,数据通常集中在服务器中,然而在许多现实世界的场景中数据是私密的和敏感的,这使得直接共享变得困难。联邦学习通过在设备本地训练模型,并且仅上传模型参数或者成分信息给中心服务器来解决这个问题。通过这种方式,协作学习可以在没有暴露未处理的数据的情况下实现学习。联邦学习已经在例如移动计算医学数据分析以及金融危机控制等领域获得了越来越多的关注。
单词打卡
下一篇
待续