01: Number of identical numbers as specified
OpenJudge - 01: Number of identical numbers as specifiedhttp://noi.openjudge.cn/ch0106/01/
describe
Outputs the number of identical numbers in a sequence of integers as specified.
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //The first behavior, a, represents the length of the sequence of integers int a = scanner.nextInt(); int[] b = new int[a]; for (int i = 0; i < a; i++) { //Enter a whole number b[i] = scanner.nextInt(); } //For the specified integer c int c = scanner.nextInt(); //Counter int f=0; for (int i = 0; i < a; i++) { if (b[i]==c) f++; } //Output Counter System.out.println(f); }
02:Pottery picking apples
OpenJudge - 02: Pottery picking appleshttp://noi.openjudge.cn/ch0106/02/
describe
There is an apple tree in the courtyard of the Taotao family. Ten apples grow on it every autumn. When the apples are ripe, the pottery will run to pick them. Pottery has a bench 30cm high. When she can't pick the apples directly with her hands, she will step on the bench and try again.
Now that 10 apples are known to be on the ground and the maximum height that the pottery handle can reach when it is straightened, please help pottery figure out the number of apples she can pick. Suppose she touches an apple and it falls off.
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Create an array of 10 int types int[] sum = new int[10]; for (int i = 0; i < 10; i++) { sum[i] = scanner.nextInt(); } // n denotes the maximum height that a pottery handle can reach when straightened int n = scanner.nextInt(); int f=0; for (int i = 0; i < 10; i++) { // n+30 is the maximum height that pottery can reach when its handle is stretched out on a stool if (sum[i]<=n+30) f++; } // Export the number of apples that pottery can pick System.out.println(f); }
03: Calculate book costs
OpenJudge - 03: Calculate book costshttp://noi.openjudge.cn/ch0106/03/
describe
Here is a unit price list for a book:
28.9 yuan/book of calculation overview
Data Structure and Algorithms 32.7 Yuan/Ben
Digital logic 45.6 yuan/book
C++ Programming Tutorial RMB 78/book
Artificial Intelligence 35 yuan/book
Computer architecture 86.2 yuan/book
Compilation Principle 27.8 Yuan/Ben
Operating System 43 Yuan/Ben
Computer network $56 per book
JAVA programming $65 per book
Given the quantity purchased for each book, the total fees payable are calculated programmatically.
Code
public static void main(String[] args) { // Price of imported books double txt[] = {28.9,32.7,45.6,78,35,86.2,27.8,43,56,65}; Scanner scanner = new Scanner(System.in); double sum=0; for (int i = 0; i < 10; i++) { // Enter a to represent the principal number of purchases int a = scanner.nextInt(); sum=sum+txt[i]*a; } // The output represents the total fees payable. One digit after the exact decimal point System.out.println(sum); }
04:Reverse Array Replay
OpenJudge - 04: Array Reverse Replayhttp://noi.openjudge.cn/ch0106/04/
describe
Restore values in an array in reverse order. For example, the original order is 8,6,5,4,1. Change to 1,4,5,6,8 is required.
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Number of elements in array n int n = scanner.nextInt(); // Create an array with n elements int[] arr = new int[n]; for (int i = 0; i < n; i++) { // Input Elements arr[i] = scanner.nextInt(); } for (int i = arr.length; i > 0; i--) { // Output integers of an inverse-order array, separated by spaces between each two integers System.out.print(arr[i-1]+" "); } }
05:Age and Diseases
OpenJudge - 05: Age and Diseaseshttp://noi.openjudge.cn/ch0106/05/
describe
A hospital needs to sort out the previous diagnostic records in order to find out if a disease is related to age.
The proportion of the total number of patients in the four age groups 0-18, 19-35, 36-60, 61 or more (including 61) was calculated.
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Enter the number of past patients n int n = scanner.nextInt(); // Create Array int[] old = new int[n]; for (int i = 0; i < n; i++) { // Enter the age at which each patient was ill old[i] = scanner.nextInt(); } // s for 0-18, m for 19-35, b for 36-60, j for 61 or more (including 61) int s=0,m=0,b=0,j=0; // Accumulator accumulator s, m, b, j for (int i = 0; i < n; i++) { if (old[i] >= 0 && old[i] <= 18) s++; else if (old[i] >= 19 && old[i] <= 35) m++; else if (old[i] >= 36 && old[i] <= 60) b++; else if (old[i] >= 61) j++; } // % Output System.out.printf("%.2f%%\n",(float)s*100/n); System.out.printf("%.2f%%\n",(float)m*100/n); System.out.printf("%.2f%%\n",(float)b*100/n); System.out.printf("%.2f%%\n",(float)j*100/n); }
06: Trees outside the school gate
OpenJudge - 06: Trees outside the school gatehttp://noi.openjudge.cn/ch0106/06/
describe
There is a row of trees on the L-length road outside the gate of a school, and the interval between each two adjacent trees is 1 meter. We can think of a road as a number axis, with one end at number axis 0 and the other end at L. Each integer point on the axis, that is, 0, 1, 2,..., L, has a tree.
There are areas on the road that need to be used to build the metro. These areas are represented by their starting and ending points on the axis. The coordinates of the start and end points of any region are known to be integers, and there may be overlapping parts between regions. Now you want to move the trees in these areas, including the two trees at the end of the area. Your task is to calculate how many trees there are on the road after all these trees have been removed.
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Enter two integers, L for the length of the road and M for the number of areas int L = scanner.nextInt(); int M = scanner.nextInt(); // L+1 is a tree int s=L+1; boolean[] b = new boolean[s]; // Start tree initial value set to 1 for (int i = 0; i < s; i++) { b[i] = true; } for (int i = 0; i < M; i++) { int x = scanner.nextInt(); int y = scanner.nextInt(); // Prevent pits in titles and ensure left x right y if (x>y) {int t=x;x=y;y=t;} // Start cutting 1 to 0 for (int j = x; j <= y; j++) { // When there are trees if (b[j] == true){ // Cutting down trees b[j]=false; // count s--; } } } // Output the number of remaining trees on the road System.out.println(s); }
07: Fun jumps
OpenJudge - 07: Fun Jumphttp://noi.openjudge.cn/ch0106/07/
describe
An interesting jump in a sequence of length n (n>0) currently occurs only when the absolute value of the difference between adjacent elements is sorted from exactly 1 to (n-1). For example, 1423 has an "interesting jump" because the absolute values of the differences are 3,2,1, respectively. Of course, any sequence that contains only a single element must have an "interesting jump". You need to write a program to determine if a given sequence has an "interesting jump".
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // n stands for sequence length int n; n = scanner.nextInt(); // An array represents the elements of a sequence int[] a = new int[n]; for (int i = 0; i < n; i++) { // Save in Element a[i] = scanner.nextInt(); } // b array represents the difference between two numbers int[] b = new int[n-1]; for (int i = 0; i < n-1; i++) { b[i]=Math.abs(a[i+1]-a[i]); } // Bubble sort from smallest to largest for (int i = 0; i < n-1; i++) { for (int j = i+1; j < n-1; j++) { if (b[i] > b[j]){int t=b[i];b[i]=b[j];b[j]=t;} } } for (int i = 0; i < n-1; i++) { // If not equal to i+1, output Not Jolly if (b[i] != i+1) { System.out.println("Not jolly"); // Conditions meet Direct End Procedure return; } } // Output Jolly System.out.println("Jolly"); }
08:Stone scissors cloth
describe
OpenJudge - 08: Stone Scissor Clothhttp://noi.openjudge.cn/ch0106/08/
Stone scissors are a common game of boxing. Stone is better than scissors, scissors are better than cloth, and stones are better than cloth. If two people punch the same way, they won or lost.
One day, Little A and Little B were playing with stone scissors. It is known that their fists are cyclical, such as: "Stone-cloth-stone-scissors-stone-cloth-stone-scissors...", which is a cycle of "stone-cloth-stone-scissors". Please ask, who wins more rounds than A and B after N rounds?
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // N stands for N wheels int N = scanner.nextInt(); // NA represents the fist cycle of Little A int NA = scanner.nextInt(); // NB represents the fist cycle of Little B int NB = scanner.nextInt(); // The law of NA fisting int[] a = new int[NA]; for (int i = 0; i < NA; i++) { a[i] = scanner.nextInt(); } // The Law of NB's Boxing int[] b = new int[NB]; for (int i = 0; i < NB; i++) { b[i] = scanner.nextInt(); } // t stands for subscript, s for number of wins int ta=0,tb=0,sa=0,sb=0; for (int i = 0; i < N; i++) { // Judging the winner or loser if (a[ta] == 0 && b[tb] == 2) sa++; else if (a[ta] == 0 && b[tb] == 5) sb++; else if (a[ta] == 2 && b[tb] == 0) sb++; else if (a[ta] == 2 && b[tb] == 5) sa++; else if (a[ta] == 5 && b[tb] == 0) sa++; else if (a[ta] == 5 && b[tb] == 2) sb++; // t Subscript++. ta++; tb++; // Subscript returns to 0 if (ta == NA) ta=0; if (tb == NB) tb=0; } // Output Win or Lose if (sa > sb) System.out.println("A"); else if (sa < sb) System.out.println("B"); else System.out.println("draw"); }
09:Vector Point Product Calculation
OpenJudge - 09: Vector Point Product Calculationhttp://noi.openjudge.cn/ch0106/09/
describe
In linear algebra and computational geometry, vector point product is a very important operation.
Given two n-dimensional vectors a=(a1, a2,..., a n) and b=(b1, b2,..., B n), find the dot product a.b=a1 b1+a2 b2+...+ Anbn.
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Enter an integer n representing the number of elements int n = scanner.nextInt(); int[] an = new int[n]; int[] bn = new int[n]; // Enter the value of the element of the array an for (int i = 0; i < n; i++) { an[i] = scanner.nextInt(); } // Enter the value of the element of the array bn for (int i = 0; i < n; i++) { bn[i] = scanner.nextInt(); } // sum stands for accumulator int sum=0; for (int i = 0; i < n; i++) { // a1*b1+sum sum = an[i]*bn[i]+sum; } // Output Answer System.out.println(sum); }
10:Large Integer Addition
OpenJudge - 10:Large Integer Additionhttp://noi.openjudge.cn/ch0106/10/
describe
Find the sum of two non-negative integers that do not exceed 200 bits.
Code
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String a = scanner.next(); String b = scanner.next(); int[] na = new int[a.length()]; int[] nb = new int[b.length()]; for (int i = 0; i < a.length(); i++) { na[i] = a.charAt(i) - '0'; } for (int i = 0; i < b.length(); i++) { nb[i] = b.charAt(i) - '0'; } int B,S,N; if (na.length > nb.length) { B = na.length; S = nb.length; N=1; } else if (na.length < nb.length){ B = nb.length; S = na.length; N=2; } else { B = nb.length; S = na.length; N=3; } int sj; if (B == S){ if (na[B-2] + nb[B-2] >= 10){ if (na[B-1] + nb[B-1] + 1 >= 10){ sj=B+1; } else { sj=B; } } else{ if (na[B-1] + nb[B-1] >= 10){ sj=B+1; } else { sj=B; } } } else { sj = B; } int[] sum = new int[sj]; if (N == 1) { for (int i = 0; i < B; i++) sum[i] = na[i]; for (int i = S - 1; i >= 0; i--) { sum[i+(B-S)] = sum[i+(B-S)] + nb[i]; if (sum[i+(B-S)] + nb[i] >= 10) { sum[i+(B-S)] = sum[i] + nb[i] - 10; sum[i + (B-S-1)] = sum[i + (B-S-1)] + 1; } } } else if (N == 2){ for (int i = 0; i < B; i++) sum[i] = nb[i]; for (int i = S - 1; i >= 0; i--) { sum[i+(B-S)] = sum[i+(B-S)] + na[i]; if (sum[i+(B-S)] + na[i] >= 10) { sum[i+(B-S)] = sum[i+(B-S)] + na[i] - 10; sum[i + (B-S-1)] = sum[i + (B-S-1)] + 1; } } } else { for (int i = 0; i < B; i++) sum[i+1] = nb[i]; for (int i = S - 1; i >= 0; i--) { sum[i + 1] = sum[i + 1] + na[i]; if (sum[i+1] + na[i] >= 10) { sum[i + 1] = sum[i + 1] - 10; sum[i] = sum[i] + 1; } } } for (int i = 0; i < sj; i++) { System.out.print(sum[i]); } }