2020年3月7日 星期六

[zerojudge]a059. 完全平方和

a059. 完全平方和

在a~b之間尋找平方數然後加總,所以要找平方後>=a平方後<=b的兩個數當作起點和終點
開根號a之後可能是整數或小數,如果是小數就要「無條件進位」(ceiling),b則「無條件捨去」(floor)。
ceiling = 天花板
floor = 地板

程式碼如下:

  1. /* Pa059.java
  2. * a059. 完全平方和
  3. *
  4. * 科皓不要
  5. * 2020/3/7
  6. */
  7.  
  8. import java.util.Scanner;
  9.  
  10. public class Pa059{
  11.  
  12. public static void main(String[] args){
  13. Scanner scanner = new Scanner(System.in);
  14.  
  15. while(scanner.hasNext()){
  16.  
  17. int T = scanner.nextInt();
  18.  
  19. for(int i = 1; i <= T; i++){
  20. int sum = 0;
  21. int a = (int)Math.ceil(Math.sqrt(scanner.nextInt()));
  22. int b = (int)Math.floor(Math.sqrt(scanner.nextInt()));
  23.  
  24. for(; a <= b; a++){
  25. sum += a * a;
  26. }
  27.  
  28. System.out.println("Case " + i + ": " + sum);
  29. }
  30. }
  31. }
  32. }

沒有留言:

張貼留言