首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

N(奇数)-java实现代码

看完最强大脑,有一期是说N立方的,作为一个程序员,我的第一反应时我可以用程序实现,在此公布N(奇数)的java实现代码: package com.lzugis.test; public...class Practice { public static int[][] magicOdd(int n) { int[][] square = new int[n + 1][n + 1];...int i = 0; int j = (n + 1) / 2; for (int key = 1; key <= n * n; key++) { if ((key % n) == 1)...3 ? 5 备注: (Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。...方中间格的值为(N*N+1)/2,即3方中间为(3*3+1)/2=5,3方中间为(5*5+1)/2=13,…… 如有疑问请联系: QQ:1004740957 Email:niujp08@qq.com

76641
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    n行列式计算Python和C语言实现

    或者说,在 n 维欧几里得空间中,行列式描述的是一个线性变换对“体积”所造成的影响。 这里介绍一下计算机计算行列式的简单方法,只用于我们一般计算行列式用,不适合科研计算大数据。...s print('答案为: ', det(eval(input('输入行列式(格式为 [[a11,a12],[a21,a22]] 以此类推): \n')))) python效果图: ?...C语言求行列式代码: C #include"stdio.h" int main() {     int z,r,s,j,i;     double a[20][20],m=1.0,k;     printf...("请输入数:");         scanf("%d",&r);         printf("请输入数字\n");         for(i=0;i<r;i++)         for(j...                    }         }          for(z=0;z<r;z++)          m=m*(a[z][z]);          printf("%f",m); } C语言效果图

    1.3K20

    c语言背包问题(动态规划解法

    有若干个物品要装进背包,并且每个物品有各自的价值,物品的数量、价值以及背包的容量由用户输入,求背包内能够存入的最大价值为多少,并且求出此时放入了哪些物品 输入格式: 第一行输入物品的容量r和物品个数n...因此当行为物品数,列为背包容量时,即容量为n的背包能够存储的最大价值。 因此我们定义一个函数给全局变量二维数组赋值,返回二维数组右下角的值即可。...int i,j=r; for(i=n;i>=1;i--) { if(f[i][j]!...i,maxvalue;//r为背包容量 n为物品数量 maxvalue为最大的背包价值 scanf("%d%d",&r,&n); for(i=1;i<=n;i++) scanf(...=best(r,n,weight,value); object(r,n,weight); printf("背包的最大价值为:%d\n",maxvalue); printf(

    72120

    C语言题解 | 移除元素(多种解法)

    前言 这是力扣上的一道简单题,需求是 移除数组中的指定元素,并且要求 空间复杂度为O(1) ,即原地移除,我们可以用顺序表中的任意位置删除的思想解决这个题,符合题目要求,当然还有其他解法。...---- 正文 首先要想清楚移除的本质并不是真删除,而是把元素覆盖即可,覆盖n个元素后,数组总长度就要-n 解法一、逐个判断 解法一是比较容易想到的解法,比较朴素,具体实现起来就是 从头开始遍历,找到目标元素...、分离注入 这个解法也比较容易想到,就是 创建一个额外的 数组 ,对 原数组 进行 遍历判断 ,如果元素不等于 val ,就可以放入 新数组 中,遍历 结束后,需要把 新数组 中的元素注入 原数组 中,...这种方法也是比较通俗易懂,但不符合题目要求,因为我们这个开辟了 n 大小的空间,实际提交时,力扣也没说不对,可能是它无法检查得这么细吧,这个不太好的解法我也会分享给大家,但不推荐使用,可以作为一种新思路学习...= val ,就把 *p1 赋给 *p2 ,然后 p2 向后移动,当然无论相等还是不相等,p1 都需要往后移动,这个解法的目的就是把数组中所有非目标值的元素往前移动,最后返回 p2 - nums 的值(

    30940

    抽丝剥茧C语言(中)数组

    数组的创建方式: type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式,用来指定数组的大小 数组创建的实例: //代码...注:数组创建,在C99标准之前, [] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数组的概念。...这里我们就不做演示了,VS2022这个编译器不支持完整版C99的便准,大家有兴趣可以去GCC编译器试一下。...数组的下规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1。 所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。...C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就是正确的, 所以程序员写代码时,最好自己做越界的检查。

    56300

    抽丝剥茧C语言(中)扫雷

    分析C语言如何实现扫雷游戏 C语言实现扫雷游戏 菜单与游戏的循环 创建游戏棋盘 打印棋盘 布置雷 排查雷 判断输赢 完整代码 结束语 导语 这一篇带领大家来一起完成扫雷游戏的基础版,虽然与我们电脑自带的扫雷有些差别...下面我们来想想怎么用C语言来实现这个游戏。 分析C语言如何实现扫雷游戏 和三子棋一样需要游戏菜单,可以反复游戏,退出游戏等等操作。 其次打印游戏棋盘,肯定又要用到二维数组。...C语言实现扫雷游戏 菜单与游戏的循环 首先在test.c里面来实现菜单和反复游戏与结束游戏的逻辑等等。 假设输入1是开始游戏,0是推出游戏。...参考代码如下: //test.c文件 #include "game.h" void menu() { printf("**************************\n"); printf("...= 1; j <= col; j++) { printf("%c ", arr[i][j]);//打印棋盘内容 } printf("\n");//换行 } } 布置雷 这里要布置雷,

    53600

    【每周一坑】杨辉三角形

    ''' generate_yh(3): 1 1 1 1 2 1 ''' 【神奇的九宫格】解答 上一期题目提交的答案不算多,可能是由于这个题目偏难,使用暴力解法仅仅能算出...在给出正确的答案之前,我们先了解一个名词 “” ,百度百科定义:(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。...N 的解题思路是其分为三种情况:N为奇数、N为4的倍数、N为其它偶数(4n+2的形式)。针对不同的情况有不同的解法,其详细说明见百度百科的【】词条。...按上述奇数给分解的4个子方阵对应赋值 上左子阵最小(i),下右子阵次小(i+v),下左子阵最大(i+3v),上右子阵次大(i+2v) 即4个子方阵对应元素相差v,其中v=n*n/4 四个子矩阵由小到大排列方式为...: m = n//2 A,B,C,D = oddN(m),oddN(m),oddN(m),oddN(m) B = acc(m**2,B) C = acc(m**2*2,C

    1.4K40

    抽丝剥茧C语言(中)结构体+练习

    导语 想一想,如果你想表达一个人的个人信息,就需要int类型,char类型等等去表达名字,年龄,生日之类的,这是个复杂对象,我们描述非常的困难,那么C语言有没有什么简单的方法呢?请往下看 1....= { 10, {4,5}, NULL }; //结构体嵌套初始化 struct Node n2 = { 20, {5, 6}, NULL };//结构体嵌套初始化 那么初始化之后如何使用呢?...struct S s; strcpy(s.name, "zhangsan");//使用.访问name成员 s.age = 20;//使用.访问age成员 printf("%s %d\n", s.name...struct Stu { char name[20]; int age; }; void print(struct Stu* ps) { printf("name = %s age = %d\n"..., s.num); } //结构体地址传参 void print2(struct S* ps) { printf("%d\n", ps->num); } int main() { print1(s

    23500

    C语言求解爬楼梯类型的解法

    一.爬楼梯类型解法的一些思路 1.通过函数的返回值计算并表达题目意思,最终求解。 eg: 已知有n层阶梯,如果每次只能走一层台阶或两层台阶,求共有多少走法?...( # include                int  Printfose (int n)               {   if(n==0||n==1){          ...return 1;                //如果不能理解可以代入一些n值进行计算方便理解程序 //else return Printfose(n-1)+Printfose(n-2); } main...() {  int n,num; scanf("%d",&n); num=Printfose(n);            //返回值的传递 printf("%d",num);} eg:已知有n层阶梯,...根据上面的规律我们可以得知 : # include             int  Printfose (int n) {     if(n==0||n==1)          return

    12710

    太秀了!那个在 GitHub 用文言文编程的小哥,竟从 28 万行唐诗中找出了对称矩阵

    △ 文言文编程的 “Hello,World” 他用数学中的 3 (九宫格)作比,把符合这种规律的诗命名为 “唐诗”。 然而,这首诗真正的玄妙之处,还不止在这里。...不过,他遍历了全唐诗里所有五言诗共二十八万七千句后,也只能得出两个这样的。 除了 “风月清江夜” 以外,还只有一个,不过意境上差了许多,不能令他满意。 ?...△洛书 洛书写成数字就是三,特点是每一行、每一列及对角线中的数字之和都相等。 ? 文字没有求和这种操作,如果按照程序员思维,那就是字符串拼接起来相等。...以 “暴力” 治之 这位小哥,先是想到了用 “八皇后问题” 的计算机解法,来找出符合要求的唐诗。...利用 C 语言写好后,不用 1 小时就能跑出所有的 “对称诗”。 作者表示,自己并非文学研究的专家,也不是算法专家,因此,这种方法可能并不是最好的办法。

    59820

    使用Wolfram元编程+编译 加速一类回溯算法

    数独游戏,一行代码搞定N皇后问题,0.1秒玩胜Matlab之父Cleve Moler的四!...作为比较,维基百科上(https://zh.wikipedia.org/zh-hans/八皇后问题)的两个C语言示例程序,当n=15时,耗时也都在3.7秒以上,使用位运算优化过的版本(https://blog.csdn.net...四 ? 把1~16的数字填入4x4的方格中,使得行、列以及两个对角线的和都相等, 满足这样的特征时称为:四。...的一般性质为:每一行之和、每一列之和、两条对角线之和都相等,都等于和(四和为34)。 求解所有四,用全排列搜索空间太大,对16个数全排列有16!...Matlab中有个magic函数,可以方便的生成,但是只能生成单个,要生成所有的四,Matlab之父Cleve Moler曾经写过一篇相关的博文并分享有代码 https://blogs.mathworks.com

    1.3K20

    抽丝剥茧C语言(中)分支与循环练习

    计算 n的阶乘。 数学里的阶乘是1*2*3*…*nC语言里我们又应该如何实现呢?...我们可以利用C语言变量可以存储的特性把你要算n阶乘前面n-1的阶乘存储进去。...我们怎么利用C语言来实现这个算法呢? 首先我们创建一个数组,在里面找一个数怎么表达?当然是数组的下标,然后通过下标实现这种算法,叫做折半查找法。...这就是二分查找法C语言的实现。 编写代码,演示多个字符从两端移动,向中间汇聚。...家人们放心看就好了,主要是一起学习怎么分析任务,任务目的是什么,先想想用正常思维怎么解决这个任务,然后再用C语言的语法和特点来去完成思维代码。

    32800
    领券