登录
A353108型
a(n)是n个数的循环数,其排列方式使1..n*(n-1)+1中的每个整数都是最多n个相邻数的和。除非溶液和溶液的反面相同,否则溶液和溶液都会被计算在内。
0
1, 1, 2, 4, 2, 10, 0, 12, 8, 12, 0, 36, 0, 40, 0, 0, 12, 102, 0, 84, 0, 0, 0
抵消
1,3
评论
对于n=1和n=2,只有一个解,计算一次,因为从1开始绕圆周运动时遇到的数字,无论方向如何,都是相同的;请参阅示例部分。
链接
唐纳德·贝尔,谜题171:你能计算出手镯上的数字吗?《新科学家》,2022年6月8日。
配方奶粉
a(n)=2*A058241美元(n) 对于n>2。
例子
对于n=1,唯一的解是由单个数字{1}组成的,而由{1'组成的“循环”无论是向前读还是向后读都是相同的,因此a(1)=1。
对于n=2,唯一的解(从1开始)由两个数字{1,2}组成;把这些放在一个圆上
1
/ \
\ /
2
给出了相同的循环,即{1,2}从1顺时针或逆时针读取,因此a(2)=1。
对于n=3,两个循环(从1开始)是{1,2,4}和{1,4,2},因此a(3)=2。
对于n=8,这十二个解是
{ 1, 2, 10, 19, 4, 7, 9, 5 },
{ 1, 3, 5, 11, 2, 12, 17, 6 },
{ 1, 3, 8, 2, 16, 7, 15, 5 },
{ 1, 4, 2, 10, 18, 3, 11, 8 },
{ 1, 4, 22, 7, 3, 6, 2, 12 },
{ 1, 6, 12, 4, 21, 3, 2, 8 },
相同的六个循环从1的相反方向读取(例如。,
{ 1, 2, 10, 19, 4, 7, 9, 5 }
从1开始按相反顺序读取是
{ 1, 5, 9, 7, 4, 19, 10, 2 }
每个都算作一个单独的解决方案),因此a(8)=12。
黄体脂酮素
(C++)
#包括<vector>
#包括<iostream>
#包含<算法>
无效显示(const std::vector<int>&aa,int n){
对于(int i=0;i<n;++i){
标准::cout<<“”<<aa[i];
}
标准::cout<<std::endl;
}
int sum(常量标准::vector<int>&aa,int n,int nn,int o){
int s=0;
对于(int i=0;i<nn;++i){
s+=aa[(o+i)%n];
}
返回s;
}
int测试(const std::vector<int>&aa,int n,int t){
std::vector<unsigned char>flags(t,0);
对于(int nn=1;nn<n;++nn){
for(int o=0;o<n;++o){
int s=总和(aa,n,nn,o);
如果(s>=t|flags[s])返回0;
标志[s]=1;
}
}
返回1;
}
int inc(标准::vector<int>&aa,int p,int v){
如果(p==1),则返回0;
如果(aa[p-1]==v){
int r=inc(aa,p-1,v);
如果(r==0),则返回r;
aa[p-1]=1;
}其他{
++aa[p-1];
}
返回1;
}
整数a(int n){
int t=n*(n-1)+1;
标准::vector<int>aa(n);
对于(int i=0;i<n;++i)aa[i]=i+2;
aa[0]=1;aa[1]=2;
整数计数=0;
while(inc(aa,n,t-n*(n-1)/2)){
if(测试(aa,n,t)){
表演(aa,n);
++计数;
}
}
返回计数;
}
关键词
非n,坚硬的,更多
作者
保罗·K·戴维斯2022年6月18日
扩展
a(12)-a(23)计算自A058241号通过马克斯·阿列克塞耶夫,2023年6月10日
状态
经核准的