首页 > 其他分享 >除去自身的最大因数 矩阵对角线互换

除去自身的最大因数 矩阵对角线互换

时间:2023-11-29 10:48:02浏览次数:31  
标签:输出 int 矩阵 因数 对角线 输入

7-2 除去自身的最大因数

输入一个整数,计算该整数除去自身的最大因数。

输入格式:

一个整数a。

输出格式:

一个整数,整数a除去自身的最大因数。

输入样例:

在这里给出一组输入。例如:

6

输出样例:

在这里给出相应的输出。例如:

3

解题思路:

  1.题目意思:输入一个数,找到它除自身之外的最大因数,如输入样例的6,它的因数有:1,2,3,6,其中6是它自身,所以我们需要的是将6剔除后剩下的最大的数字,即为3

  2.实现这个思路很简单,只需要进行循环判断,为了找到除自身外的最大因数,只需要在循环的时候不到达该数自身,即循环进行条件为i<n

  3.要判断一个数是否是输入数据n的因数,只需要判断n/该数的余数是否为零即可,循环判断下来,result最后记录的数即为我们需要的结果,将其输出即可

#include<stdio.h>
int main() {
    int n;
    scanf("%d",&n);
    int result = 0;
    for(int i=1;i<n;i++){
        if(n%i==0){
            result = i;
        }
    }
    printf("%d",result);
    return 0;
}

7-3 矩阵对角线互换

本题目要求读入1个n×n的矩阵A,然后输出该矩阵正对角线与反对角线互换后的矩阵。具体过程如下图所示:

图片1.jpg

输入格式:

输入在一行中给出1个不超过1000的正整数n。

输出格式:

输出对角线互换后的矩阵。

输入样例:

3
16 5 7
30 2 3
-8 0 5

输出样例:

在这里给出相应的输出。例如:

7 5 16
30 2 3
5 0 -8

解题思路:

  1.实现矩阵对角线互换,节省时间的方法可以在读入的时候就进行变换,通过观察可知,矩阵的主对角线的坐标是i=j,次对角线是i=n-1-j

  2.因此可以根据这个规律,在读入时进行交换,将主对角线和次对角线交换

  3.最后使用两个循环嵌套将读入的已经交换好的数组输出即可

#include<stdio.h>
int main() {
    int n;
    scanf("%d",&n);
    int matrix[n][n];
    for(int i=0;i<n;i++) {
        for (int j = 0; j < n; j++) {
            if(j==i){
                scanf("%d", &matrix[i][n-j-1]);
            }else if(j==n-i-1){
                scanf("%d",&matrix[i][n-j-1]);
            } else{
                scanf("%d",&matrix[i][j]);
            }
        }
    }
    for(int i=0;i<n;i++) {
        for (int j = 0; j < n; j++) {
            if(j==n-1){
                printf("%d", matrix[i][j]);
                continue;
            }
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
    return 0;
}

标签:输出,int,矩阵,因数,对角线,输入
From: https://www.cnblogs.com/lavendery/p/17860526.html

相关文章

  • 邻接矩阵存储创建有向图
    #include<iostream>usingnamespacestd;//邻接矩阵需要顶点表,二维矩阵,还有点数边数#defineMVNum100typedefstruct{charvexs[MVNum]; //顶点表intarcs[MVNum][MVNum]; //矩阵intvexnum,arcnum; //顶点数、边数}AMGraph;intLocateVex(AMGraphG,charv){//......
  • UG\NX二次开发 获取部件的4x4矩阵
    文章作者:里海方法1:输入部件occ,获取矩阵。用函数UF_ASSEM_ask_transform_of_occ(),比较直接。方法2:输入部件的实例或事例,获取矩阵。用函数UF_ASSEM_ask_component_data()。通过部件事例获取实例的方法函数:......
  • NX二次开发 转置矩阵 UF_MTX3_transpose
    简介:    NX二次开发转置矩阵UF_MTX3_transpose。代码:#include"me.hpp"externDllExportvoidufusr(char*param,int*returnCode,intrlen){UF_initialize();doubledMtx[9]={1.000000000,0.000000000,0.000000000,0.000000000......
  • 矩阵乘法 - 斐波那契前 n 项和
    题目题目描述求数列\(f_n=f_{n-2}+f_{n-1}\)的前\(n\)项的和,其中\(f_1=1,f_2=1\)。输出的数\(\bmod\10^9+7\)样例样例输入10样例输出143数据范围对于\(20\%\)的数据,有\(1\leqn\leq20\)对于\(100\%\)的数据,有\(1≤n<2^{63}\)分析这道题目矩阵乘法的......
  • c语言中向函数传递二维矩阵的方法
    在C语言中,向函数传递二维数组有几种方式,这主要取决于二维数组的大小是否已知。下面是几种常见的方式:  1)如果二维数组的大小已知,那么你可以在函数参数中直接指定数组的大小。例如: voidfunc(intarr[10][10]){...} 在这个例子中,func函数接受一个10x10的二维数组作为参数......
  • 邻接矩阵
     #include<stdio.h>#include<stdlib.h>#defineMaxSize20typedefintVertexType;typedefintEdgeType;typedefintElem;typedefstruct{//邻接矩阵VertexTypeVex[MaxSize];EdgeTypeEdge[MaxSize][MaxSize];......
  • ACW756回形矩阵
    点击查看代码importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();intm=sc.nextInt();intres[][]=newint[n][m];//......
  • 2022年十三届----试题C:质因数个数(中)
    目录题目暴力题解题目暴力先暴力把到n的质数存在一个列表里面,如何遍历列表,如果n可以整除该质数就count++,最后返回countm=[]count=0n=int(input())foriinrange(1,n):ifi>1:forjinrange(2,int(i**0.5)+1):ifi%j==0:......
  • python 矩阵 换行
    Python矩阵换行实现流程为了帮助初学者实现Python矩阵的换行,下面将提供一个详细的步骤,通过代码和注释的形式指导他们完成这个任务。在开始之前,确保已经了解Python的基本语法和矩阵的基本概念。步骤步骤描述步骤1创建一个二维矩阵步骤2使用循环遍历二维矩阵的每一......
  • 机器学习——K近邻算法-kd(简化因数据过过多而造成的搜索复杂度大)
    kd树是为了减少搜索最近邻点的时间复杂度,一般来说可以使用穷举法,但是太耗时,因此采用平衡二叉树的思想来解决这个问题"""ThisistheimplementationofKnn(KdTree),whichisaccessibleinhttps://github.com/FlameCharmander/MachineLearning,accomplishedbyFlameCharma......