64비트 정수

578 단어 c 언어
양의 정수 n을 입력하여 양의 인수 개수를 집계합니다.n<=10^12를 직접 매거해도 시간을 초과하지 않는다. 만약에 i가 n의 약수라면 n/i도 n의 약수이고 i와 n/i는 마침 산술 뿌리를 초과하지 않는 것이 있다.이렇게 해서 1매에서 루트 n을 들면 된다.또 다른 세부 사항은 n이 너무 커서 Int 유형의 표현 범위를 넘어섰다는 것이다.사실 Int보다 더 큰 유형이 있는데 롱롱이라고 하는데 -2^31~-2^31-1로 -10^19~10^19보다 약간 작다
, Int의 표시 범위는 -2^31~2^31-1이며, -2*10^9~2*10^9-1보다 약간 작습니다.
#include 
int main(){
	int i;
	int n;
	int number=0;
	while(scanf("%d",&n)==1){
		for(i=1;i<=n^(1/2);i++){
			if(n%i==0){
				number+=2;
			}
		}
		printf("%d
",number); } return 0; }

좋은 웹페이지 즐겨찾기