C语言 定义函数求他最大的质因数 相关知识点: 试题来源: 解析 int MAX_Z_Y_S(int n){//思路:从n/2+1开始循环判断,依次判断是不是因数,是不是质数//是就跳出循环,不是继续循环int m;m=n/2+1while(m>=2){if(n%m==0&&isprime(m))return m;m--;}}int isprime(int x){int i=0for(i=0;...
int i;if(n<2)return 0;for(i=2;i*i<=n;++i)if(n%i==0)return 0;return 1;} int main(){ int n,i;while(scanf("%d",&n)==1){ for(i=n;i>0;i--){ if(n%i==0&&isprime(i)){ printf("%d\n",i);break;} } } return 0;} ...
include <stdio.h>void main(){int a,n,i;printf("请输入一个数\n");scanf("%d",&n);for(i=n-1;i>=1;i--){if(n%i==0){printf("最大质因数:%d\n",i);break;}}}
给出N个数字,试求质因数最大的数字。 输入格式 第一行,一个整数N,表示数字个数。 接下来N行,每行一个整数A_i,表示给出的数字。 输出格式 一个整数,表示质因数最大的数字。 样例输入 4 36 38 40 42 样例输出 38 提示 零基础同学可以先学习视频课程,包含C/C++、Python、百练、蓝桥杯辅导、算法数据结构...
这个程序写得太过复杂了,完全可以简单一点的。具体的算法是从2开始尝试找出给你写的数所有的质因数,并统计每一个质因数出现的次数。分别保存在两个数组中。等到全部分解完成后,再检查其中出现次数最多的,进行输出就可以了。下面是我的程序和运行结果:include <stdio.h>int main(){ int i,j,k=...
建议先用注释写逻辑布局,然后分块写代码,最后集成一下。//输入一个数 //判断其大于1的因数并放入a数组(此模块设为函数,返回数组长度)//判断a数组中的数大于1的因数(递归调用第二步的函数,如果返回的数组长度等于1,放入b数组)//找出b数组中最大的数 ...
sqrt函数返回的平方根是浮点型,是近似解,比如sqrt(9)的结果可能是2.9999999,直接取整后结果是2,所以需要加上一个小数保证,取整正确
include <stdio.h> int main(){ int n,i;scanf("%d",&n);for(i=2;i<=n;i++){while(n%i==0)n/=i;if(n==1)break;} printf("%d\n",i);return 0;}
1、首先打开编辑器软件,在里面新的C语言文件里引入头文件并输入主函数,在主函数中输入代码:2、然后写入判断素数的逻辑,这里先引入一个scanf函数,接受用户输入的数值存入变量,对接收的变量判断其是否为素数,判断的依据是如果能被2到n-1中的某个数整除就是素数,否则就不是。最后把判断的结果打印...