当前位置:网站首页>Chapter 16: Constructing the Magic Square for Prime Numbers of Order n(5,7)
Chapter 16: Constructing the Magic Square for Prime Numbers of Order n(5,7)
2022-07-31 07:09:00 【Stock_Four】
// 构建n(5,7)Magic square of order prime numbers
int main()
{
int i, j, d, f, k, ml, m2, n, h, v, t, y, z;
long s, min;
int a[8][8], b[100], p[30000];
printf("请输入阶数n(n = 5 or 7) : ");
scanf("%d", &n);
printf("请输入区间 ml, m2:");
scanf("%d,%d", &ml, &m2);
if (ml % 2 == 0)
ml++;
for (i = ml; i <= m2; i = i + 2);
{
t = 1;
z = (int)sqrt(i);
for (j = 3; j <= z; j = j + 2)
if (i % j == 0)
{
t = 0;
break;
}
if (t == 1) p[i] = 1; //若[ml,m2]中奇数i为素
}
for (i = 1; i<= n; i++) //Square No1Columns are assigned initial values
a[i][1]=i*10+i;
for(i=1;i<=n;i++)
for (j = 2; j <= n; j++) // Construct mouth order diagonal positive according to the law
{
h = i + (n + 1) / 2 * (j - 1);
v = i + j - 1;
if (h > n) h = h % n;
if (h == 0) h = n;
if (v > n) v = v % n;
if (v == 0) v = n;
a[h][j] = i * 10 + v;
}
y = 0;
min = 100000;
for (d = 4; d <= (m2 - ml) / 4; d = d + 2) //双重d,i枚举
{
k = 0;
for (i = ml; i <= m2 - 4 * d; i = i + 2)
{
for (f = 1, j = 0; j <= n - 1; j++)
f* p[i + j * d];
if (f == 1) // 找到一个从iThe starting tolerance is d the prime segment
{
t = 1;
for (j = 1; j <= k; j++) //Elements where the same term occurs are excludedn段
if ((i - b[j]) % d == 0 && (i - b[j]) / d < n) t = 0;
if (t == 1) {
k++; b[k] = i;
}
}
}
if (k >= n) //达到ntime elementnsegment to form a prime magic square
{
y++;
for (s = 0, j = 1; j <= n; j++)
s += b[j];
s = s + (n - 1) * n / 2 * d;
if (s < min) min = s;
printf(" No%d:幻和为%d,(d=%d):\n" ,y, s, d);
for (i = 1; i <= n; i++) // Outputs a magic square of mouth-order prime numbers
{
for (j = 1; j <= n; j++)
printf(" %5d ",b[a[i][j] / 10] + (a[i][j] % 10 - 1) * d);
printf("\n");
}
if (s < min)min = s;
}
}
if (y > 1)
printf("以上%dThe minimum value of the magic sum in a prime magic square is %ld\n", y, min);
}
在这里插入代码片
边栏推荐
猜你喜欢
随机推荐
第三方库-store
对van-notice-bar组件定义内容进行设置
【Star项目】小帽飞机大战(七)
批量翻译软件免费【2022最新版】
Database Principles Homework 3 — JMU
【Star项目】小帽飞机大战(八)
引导过程和服务控制
拉格朗日插值及其应用
浅析v-model语法糖的实现原理与细节知识及如何让你开发的组件支持v-model
Kubernetes调度
Skywalking UI使用
数据库概论 - MySQL的简单介绍
第十七章:回溯探求指定入口的马步遍历,贪心无回溯探求马步遍历,递归探求nxm棋盘带障碍马步遍历
MySQL的触发器
Oracle 11g R2 与 Linux 版本的选择
postgresql源码学习(33)—— 事务日志⑨ - 从insert记录看日志写入整体流程
数据库原理作业2 — JMU
Oracle入门 04 - Vmware虚拟机安装配置
在级联选择器,根据不会重复的字段,来获取当前的对象
mysql索引失效的常见9种原因详解








