网站:Codeabbey
声明:这里仅仅是自娱自乐刷的一些题,很简单,基本是使用Python,后期准备转用java。
补充:这里前面的题目都比较简单,还没有碰到需要特别高深算法的题目,偶尔做一下主要是为了熟悉一些Java中复杂数据类型的使用方法。
补充2019-01-18:题目前面序号是题目对应的编号,这里没有按编号顺序是因为每道题的难度分值不同,这里是按难度分值进行排序的。
#1. Sum “A+B”
1 | # python |
#2. Sum in Loop
1 | # python |
#3. Sums in Loop
1 | # python |
#4. min-of-two
1 | # python |
#5. min-of-three
1 | # python |
#15. Maximum of array
1 | # python |
#6. Rounding
1 | # python |
#7. fahrenheit-celsius
1 | # python |
#20. Vowel Count
1 | # python |
#11. sum-of-digits
1 | # python |
#41. Median of Three
1 | # python |
#8. Arithmetic Progression
1 | input_str = '''11 11 48 |
#28. Body Mass Index
1 | input_str = '''59 1.48 |
#9. Triangles
1 | input_str = '''1148 467 638 |
#13. Weighted sum of digits
1 | input_str = '128 56 204984 325441473 71 10345 301662 253890 111 431670 2414456 40 6 21 339 149936 11972 15940 24552 186086 3076312 1068 483595 58251 0 3049439 2032872 24726155 967463 7883 16 66041 4062011 7108 114 73178230 2 21948283 36' |
#43. Dice Rolling
1 | input_str = '''0.577175040264 |
#16. Average of an array
1 | input_str = '''1288 3485 1164 2104 335 3465 4031 629 1993 0 |
#17. Array Checksum
1 | input_str = '443975 811736101 25 87 401394351 857 505 18139 958615 2 522677 63689046 19908 216620803 465631 149281971 880164875 82420890 15 66833495 178851 838798168 4618324 2 1827 990 1012971' |
#30. Reverse String
1 | input_str = 'white jeopardy supper clown emperor till turn make and interrogative' |
#21. Array Counters
1 | inpt_str = '2 8 2 6 7 10 2 5 2 6 3 1 7 2 10 10 4 3 9 9 8 7 9 6 4 6 1 2 8 5 5 10 3 7 5 9 7 7 4 8 2 7 9 9 8 8 9 1 1 7 10 8 4 8 4 7 4 5 9 1 9 4 10 1 10 4 10 6 1 3 4 3 9 3 2 6 10 10 7 1 7 6 8 10 3 2 7 6 6 5 6 5 8 6 5 8 10 4 4 10 6 7 2 5 10 4 10 9 3 6 9 10 1 7 9 4 9 6 9 4 1 5 9 8 10 3 6 9 7 9 8 3 6 10 7 5 3 7 4 6 3 3 5 3 10 4 7 8 10 5 2 10 9 10 8 8 3 3 6 9 2 4 2 7 4 9 2 7 5 6 3 7 8 8 10 7 1 6 5 10 1 6 10 9 6 7 7 8 9 3 7 1 7 9 7 10 7 9 6 2 4 8 8 1 5 8 8 6 4 3 6 4 9 5 3 4 2 9 2 1 2 9 1 8 7 8 7 4 6 3 5 9 1 3 10 5 10 8 1 3 10 6 6 8 1 9 2 2 8 4 3 9 2 3 6 9 10 3 2 6 6 7 4 6 9 4 1 8 2 1 10 2 7 6 9 8 4 1 10 1 4 2 10 6 5 6 4 4 9 6 9 4 2 3 9 10 7 10 7 8 1 7 9 8 3' |
#48. Collatz Swquence
1 | input_str = '616 27 71 942 65 22 34513 4000 81 10 17 383 1732 6905 410 93 27729 25' |
#10. Linear Function
1 | def find_slope(a, b, c, d): |
#12. Modulo and time difference
1 | inputs = int(input()) |
#14. Modular Calculator
1 | result = int(input()) |
#27. Bubble Sort
1 | len = int(input()) |
#26. Greatest Common Divisor
1 | len = int(input()) |
#29. Sort With Indexes
1 | from copy import deepcopy |
#18. Sequare Root
1 | len = int(input()) |
#23. Bubble in Array
1 | input_list = [int(x) for x in input().split()] |
#50. Palindromes
1 | import string |
#31. Rotate String
1 | len = int(input()) |
#24. Neumann’s Random Generator
1 | nums = int(input()) |
#67. Fibonacci Sequence
1 | cases = int(input()) |
#52. Pythagorean Theorem
1 | nums = int(input()) |
#68. Bicycle Race
1 | nums = int(input()) |
#32. Josephus Problem
1 | input_list = [int(x) for x in input().split()] |
#35. Savings Calculator
1 | nums = int(input()) |
#25. Linear Congruential Generator
1 | nums = int(input()) |
#44. Double Dice Roll
1 | nums = int(input()) |
#19. Matching Brackets
1 | nums = int(input()) |
#81. Bit Count
其原理是不断清除n的二进制表示中最右边的1,同时累加计数器,直至n为0。如果n的二进制表示中有k个1,那么这个方法只需要循环k次即可。代码如下:
1 | // Java |
为什么n &= (n – 1)能清除最右边的1呢?因为从二进制的角度讲,n相当于在n - 1的最低位加上1。举个例子,8(1000)= 7(0111)+ 1(0001),所以8 & 7 = (1000)&(0111)= 0(0000),清除了8最右边的1(其实就是最高位的1,因为8的二进制中只有一个1)。再比如7(0111)= 6(0110)+ 1(0001),所以7 & 6 = (0111)&(0110)= 6(0110),清除了7的二进制表示中最右边的1(也就是最低位的1)。
#47. Caesar Shift Cipher
1 | //Java |
#104. Triangle Area
1 | //Java |
#55. Matching Words
1 | //Java |
#58. Card Names
1 | // Java |
#61. Prime Numbers Generation
参考文章:使用java语言产生素数-译
1 | package codeabby; |
#94. Fool’s Day 2014
作者给出了一串数字让自己找规律,很简单,就是每行数字的平方和。
1 | package codeabby; |
#59. Bulls and Cows
考察关于字符串与字符之间转换的问题,逻辑很简单,比较重视基础。
1 | package codeabby; |
#22. Two Printers
题意是有两个打印机,二者打印速度不同,打印机1的打印速度是X秒每张,打印机2的速度是Y秒每张,两台打印机共同打印N页值,求最短打印时间。这里采用的是穷举法,找出每种情况下打印的时间,取最小值。
1 | package codeabby; |
#128. Combinations Counting
使用Java的BigInteger计算,不然存不下。
1 | package codeabby; |
#42. Blackjack Counting
1 | package codeabby; |
#38. Quadratic Equation
本题是求二次方程的解,需要考虑虚数,套公式就可以了,注意最后打印时整形数字与字符串的转换就行了
1 | package codeabby; |
#34. Binary Search
这一题考察的是二分法查询算法,以及使用小数处理时精度范围的选取。
1 | package codeabby; |