# Math# Square Root# Greedy

c469 - 4th CPSC Problem 5-方方國,方方地

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算給定面積的土地,在使其變成正方形土地時,最少需要捨棄的面積。

解題思路

題目要求找到最接近輸入數字的平方數,然後計算差值。由於輸入數字的範圍是 0 到 10^9,我們可以通過計算輸入數字的平方根,然後向下取整,得到最接近的整數邊長。接著,計算這個邊長平方後的面積,然後用輸入數字減去這個面積,即可得到最少需要捨棄的土地面積。

複雜度分析

  • 時間複雜度: O(1)
  • 空間複雜度: O(1)

程式碼

#include<stdio.h>
#include <math.h>
int main(){
int n,k;
while(scanf("%d",&n)>0){
int a=sqrt(n);
k=n-a*a;
printf("%d\n",k);
}
}

Discussion