求助!超越回文串
  • 板块学术版
  • 楼主lizixi0228
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/23 21:56
  • 上次更新2023/11/24 12:05:04
查看原帖
求助!超越回文串
1216823
lizixi0228楼主2023/11/23 21:56

描述 反向排列与原来一样的数我们称之为回文数。例如:12321、123321等都是回文数,而1232、1231、12322等都不是回文数。 如果一个数P从左到右可以拆分成三个不同的不小于100的回文数x、y、z,x并且x+y+z的值不大于n,则我们称P为超越回文数。 如果在x和y中间及y和z之间插入一个“”符号,形成的新的字符串,我们称之为“超越回文串”。例如:n=400,则x=101111121为一个超越回文数,因为x可以拆分成101、111、121三个回文数,且101<111<121,101+111+121=334<400,符合超越回文数的定义。如果我们在101和111之间及111和121之间各插入一个“”,则会形成一个新串“101”,则会形成一个新串“101111”符号,形成的新的字符串,我们称之为“超越回文串”。例如:n=400,则x=101111121为一个超越回文数,因为x可以拆分成101、111、121三个回文数,且101<111<121,101+111+121=334<400,符合超越回文数的定义。 如果我们在101和111之间及111和121之间各插入一个“”,则会形成一个新串“101”,则会形成一个新串“101111121”,它就是我们所讲的“超越回文串”。 现在告诉你n的值,你能求出不同的“超越回文串”的数量么? 输入 第一行输入一个数字n,n<=5*1000000 输出 输出一行一个整数表示该条件下的不同的“超越回文串”的数量。

2023/11/23 21:56
加载中...