当前位置:网站首页>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);
}
在这里插入代码片
边栏推荐
- gstreamer的caps event和new_segment event
- Oracle入门 13 - Linux文件目录类命令
- 深度解析 z-index
- 什么是浮动?什么是文档流?清除浮动的几种方式及原理?什么是BFC,如何触发BFC,BFC的作用
- 浅析重复线性渐变repeating-linear-gradient如何使用
- 使用powerDesigner反向工程生成Entity
- Install the gstreamer development dependency library to the project sysroot directory
- 安装和使用uView
- 群晖NAS配置阿里云盘同步
- 项目练习——备忘录(增删改查)
猜你喜欢
随机推荐
shell的脚本的基本用法
tidyverse笔记——管道函数
讲解实例+详细介绍@Resource与@Autowired注解的区别(全网最全)
DirectExchange交换机简单入门demo
机器学习反向传播的一些推导公式
2021-10-10
postgresql源码学习(34)—— 事务日志⑩ - 全页写机制
项目-log4j2排查问题
外贸网站优化-外贸网站优化教程-外贸网站优化软件
Oracle入门 07 - Linux 操作系统安装配置(REHL 7.x)
js原型详解
Oracle入门 05 - VirtualBox的虚拟机安装配置
Gradle剔除依赖演示
Install and use uView
【Star项目】小帽飞机大战(七)
Redux state management
试题 历届真题 错误票据【第四届】【省赛】【B组】
高并发与多线程之间的难点对比(容易混淆)
浅析重复线性渐变repeating-linear-gradient如何使用
Shell编程规范与变量









