// UVa 10070 - Leap Year or Not Leap Year and ... import java.util.Scanner; public class Main { public static boolean div4(String n) { int l = n.length(); return ((n.charAt(l - 2) - '0') * 10 + (n.charAt(l - 1) - '0')) % 4 == 0; } public static boolean div100(String n) { int l = n.length(); return ((n.charAt(l - 2) == '0') && (n.charAt(l - 1) == '0')); } public static boolean div400(String n) { int l = n.length(); return div100(n) && div4(n.substring(0, l - 2)); } public static boolean div55(String n) { int l = n.length(); return (n.charAt(l - 1) == '5' || n.charAt(l - 1) == '0') && div11(n); } public static boolean div11(String n) { int l = n.length(); int[] sum = new int[2]; sum[0] = 0; sum[1] = 0; for (int i = 0; i < l; i++) sum[i % 2] += (n.charAt(i) - '0'); return (sum[0] - sum[1]) % 11 == 0; } public static boolean div15(String n) { int l = n.length(); return (n.charAt(l - 1) == '5' || n.charAt(l - 1) == '0') && div3(n); } public static boolean div3(String n) { int l = n.length(); int sum = 0; for (int i = 0; i < l; i++) sum += (n.charAt(i) - '0'); return sum % 3 == 0; } public static void main(String[] args) { int t = 0; Scanner scanner = new Scanner(System.in); while (scanner.hasNextLine()) { String n = scanner.nextLine(); t++; if (t > 1) System.out.printf("\n"); boolean bu = false; boolean ordinary = true; if (div4(n) && (!div100(n) || div400(n))) { System.out.printf("This is leap year.\n"); ordinary = false; if (div55(n)) bu = true; } if (div15(n)) { System.out.printf("This is huluculu festival year.\n"); ordinary = false; } if (bu) System.out.printf("This is bulukulu festival year.\n"); if (ordinary) System.out.printf("This is an ordinary year.\n"); } } }
Sunday, June 14, 2015
UVa 10070 - Leap Year or Not Leap Year and ...
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment