文章
4
粉丝
0
获赞
6
访问
401
#include<stdio.h>
//读题:最长连续因子可以理解为一个数的所有因子按从小到大排序,其中最长的连续序列
//思路:从2到n,依次判断是否为因子,记录当前因子序列的起点和长度,当出现非因子时,判断当前序列是否最长,保存到最长序列起点和长度变量中,最后输出最长序列
int main(){
int n;
scanf("%u",&n);
int start=2,len=0; //当前序列起点、长度
int ms=2,ml=0; //最大序列起点、长度
for(int i=2;i<=n;i++){ //从2到n,不用额外排序
if(n%i==0){ //如果是因子
if(len==0){ //且是起点
start=i;} //记录当前起点
len++; //不管是不是起点,当前长度+1
}else{ //如果不是因子
if(len>ml){ //判断当前序列是否最长
ms=start; //更新最长序列起点、长度
ml=len;
...
登录后发布评论
暂无评论,来抢沙发