标签:com namespace output problem 来源 print long out scan
输入1个数S(1 <= S <= 10^9)。
输出最小周长。
24
20
虽然是一道简单的水题,但是通过比较别人的代码和自己的代码,还是学到了一些知识
别人的代码
15ms 2060kb
#include <bits/stdc++.h> using namespace std; int main() { long long s , i , j; scanf("%lld", &s); long long ans = 0x3f3f3f3f; i = (long long)sqrt(s); while(s % i != 0) i--; ans = i * 2 + (s / i) * 2; printf("%lld\n" , ans); return 0; }
我的代码
156ms 1706kb
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int i,j,k; int maxn = 0; int main() { int s; scanf("%d",&s); j=s; for(i=1; i<s/2; i++) { if(s%i==0) { j = s/i; if(i>j) break; maxn = max(i,maxn); } } k = s/maxn; printf("%d",2*(k+maxn)); return 0; }
标签:com namespace output problem 来源 print long out scan
原文地址:http://www.cnblogs.com/ruruozhenhao/p/7475475.html