指针原来是套娃的


私信TA

用户名:uq_92467646842

访问量:43493

签 名:

数学改变科学,科学改变世界

等  级
排  名 10
经  验 25191
参赛次数 49
文章发表 128
年  龄 0
在职情况 学生
学  校
专  业 物联网工程

  自我简介:

QQ:2830671713

解题思路:
找一个数的最大质因数,只需要从2开始将它的因数都除掉,剩下的最后一个就是最大的质因数。

以380为例,380/2=190  190/2=95 ,95不能/2了,就向后面找,95/5=19,这个19就是380的最大质因数。

这个是算数基本定理,任何一个大于 1 的自然数可以分解成一些素数的乘积;并且在不计次序的情况下,这种分解方式是唯一的。

这样找出最大质因数了,后面的代码量就小很多了。

详情请看代码:

#include <iostream>
#include <cstring>
#include <stack>
using namespace std;

int main () {
	int n,m,k=-1,z;
	cin>>n;
	while(cin>>n) {//为了少写一个变量(^_^)
		m=n;
		//算数基本定理
		for(int i=2; i<=n; i++) {
			if(n/i==1)break;
			while(n%i==0)n/=i;
		}
		if(k<n)k=n,z=m;
	}
	cout<<z;

	return 0;
}

以上。

 

0.0分

154 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区