PAT1096--浙大2015机试题--Consecutive Factors (20)
来源:互联网 发布:淘宝客邻尚品的货真假 编辑:程序博客网 时间:2024/05/25 23:27
这道题题意就是:
1,如果是素数,printf("1\n%d",N);因为1不算。
2,,如果不是素数但是没有连续整数乘积形式的因子,则printf("1\n%d",x),其中x 是N的最小非1的因子。
3,有连续整数乘积形式的因子,则输出最长的那个,如果最长的有多个,则输出最小的那个因子。
这道题我一开始看到的时候,很惊慌,2^31的数,这来回得算多少啊!后来想到可以算31个连续整数的积,30个,29个。。找到最大的。。但是这样处理显然不方便。再后来,想到可以从2~N循环(外循环),每个数做31次连乘(内循环),第一次就是自己,i,第二次为i*(i+1),第三次为i*(i+1)*(i+2)。。。如果遇到一个积不是N的因子,则退出,继续下一个外循环,否则,根据和max比较,决定是否记录i,和连乘次数time。
以下是代码,请结合上述叙述来看。
#include<stdio.h>#include<math.h>int main(){int i,j,time,max,start;long long N;max=1;start=N;bool flag=false;scanf("%lld",&N);int n;n=(int)sqrt((double)N)+2;for(i=2;i<=n;i++){ long long res=1; j=i; for(time=1;time<=31;time++){ res=res*((long long)(j)); j++; if(res>N || N%res!=0)break; if(N%res==0){ if(!flag || time>max){ max=time; start=i; flag=true; } } } } if(!flag){ printf("1\n%d",N); return 0; } printf("%d\n",max); for(i=0;i<max;i++){ if(i==0){ printf("%d",start); } else{ printf("*%d",start+i); } } return 0; }
1 0
- PAT1096--浙大2015机试题--Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- PAT-Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- PAT Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- 1096. Consecutive Factors (20)
- C++中int与string的相互转换
- Windows下使用Visual Studio 2013成功配置openEXR
- 第三章 K近邻法(k-nearest neighbor)
- 利用JAXP的SAX方式对xml进行解析
- HDU 1157 Who's in the Middle
- PAT1096--浙大2015机试题--Consecutive Factors (20)
- find命令中-mtime解释
- 利用JAXP的DOM方式对xml文档进行解析
- Linux JAVA_HOME=/usr/java/jdk/1.8.0_40: 没有那个文件或目录
- 十分钟让你明白Objective-C的语法(和Java、C++的对比)
- OC笔记 - UIPickerView、UIDatePicker、项目中的常见文件、UIApplication、UIWindow(2015.3.15)
- CSDN Markdown简明教程4-UML图
- Efficient multi-keyword ranked query over encrypted data in cloud computing (1)
- XML的学习笔记