1
0
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
2288
1723
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int intSqrtN = sqrt(n);
double doubleSqrtN = sqrt(n);
int result = 0;
if (intSqrtN == doubleSqrtN) result = 4 * intSqrtN;
else {
int leastDivisorOfN = 0; // leastDivisorOfN > 1
for (int i = 2; i <= n; ++i) {
if (n % i == 0) {
leastDivisorOfN = i;
break;
}
}
if (leastDivisorOfN == n) result = 2 * (leastDivisorOfN + 1);
else result = 2 * (leastDivisorOfN + n / leastDivisorOfN);
}
cout << result << "\n";
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
7825
4441
`+` N được nhập từ bàn phím
uses crt;
var n,ans,i,j: longint;
begin
clrscr;
read(n);
ans := 2147483647;
for i := 1 to n do
if n mod i = 0 then
begin
j := n div i;
if (i+j)*2 < ans then ans := (i+j)*2;
end;
write(ans);
end.
`+` Xử lý file
uses crt;
var n,ans,i,j: longint;
begin
clrscr;
assign(input, 'perimeter.inp');
assign(output, 'perimeter.out');
reset(input);
rewrite(output);
read(n);
ans := 2147483647;
for i := 1 to n do
if n mod i = 0 then
begin
j := n div i;
if (i+j)*2 < ans then ans := (i+j)*2;
end;
write(ans);
close(input);
close(output);
end.
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin