Skip to content

Instantly share code, notes, and snippets.

@M-ZubairAhmed
M-ZubairAhmed / Integer Number Check
Created February 13, 2017 10:04
To check if a Number has decimal places
/*
One of the easiest ways to check if a number after it comes back from some function is an Integer or not is to check its remainder with 1. eg.
if(Number % 1 == 0){
print "this is a perfect integer"}
else{
print "this is a real number with decimal places"}
@M-ZubairAhmed
M-ZubairAhmed / Variable-Narcissistic-Number
Created February 13, 2017 08:59
The sum of each digit when raised to its position value equals the former number
/*
89 is a unique number and searching similar others
The number 89 is the first integer with more than one digit that fulfills the property partially introduced below:
example
89 = 8^1 + 9^2
135 = 1^1 + 3^2 + 5^3
The sum of each digit when raised to its position value equals the former number
A range is given and all those numbers with above property is collected.
*/
@M-ZubairAhmed
M-ZubairAhmed / Number with dual Cube Sums
Created February 13, 2017 08:56
Checks if a number can be written as the sum of two cubes in two different ways: n = a³+b³ = c³+d³.
/*Number with dual Cube Sums
TwoCubeSums
which checks if a given number can be written as the sum of two cubes in two different ways: n = a³+b³ = c³+d³. All the numbers a, b, c and d should be different and greater than 0.
e.g. 1729 = 9³+10³ = 1³+12³.
*/
public class CubeSumsClass {
public static boolean hasTwoCubeSums(int n){
int checker = 0;
for (int i = 0; i <=(int)Math.pow(n,1.0/3.0); i++) {
@M-ZubairAhmed
M-ZubairAhmed / Factorials Trailing zeros Count
Last active February 13, 2017 08:32
Calculating a factorials trailing zeroes
/* When the given problem is to find number number of trailing zeros of the factorial, one is not required to
find out the factorial.
Statement : factorial(5) = 120 = 1*2*3*4*5
factorial(4) = 24 = 1*2*3*4
if it is observed the occurance of 5 or multiples of five is in direct proportion to number of trailing zeros
If however, expression contains powers of 5, then the trailing zeros increasing with power of 5.
factorial(25) = 1*...5*..10..*15*..20*..25
As expected number of trailing zero in above is expected to be 5, but since 25 is 5 power 2, it adds another zero
hence final count is 6.
*/
@M-ZubairAhmed
M-ZubairAhmed / HugeFactorials.java
Created February 13, 2017 07:27
Calculating factorial of huge numbers using BigInteger Java class.
//bNum = Initializing big interger to value.
BigInteger bNum = BigInteger.ONE;
// n = The input number whose factorial is to be calculated.
for (long i = 1; i <= n; i++) {
bNum = bNum.multiply(bNum.valueOf(i));
}
//Storing the value of factorial in a string.
String factorialValue = String.valueOf(bNum);
@M-ZubairAhmed
M-ZubairAhmed / numbers1_100.java
Last active February 20, 2017 12:39
List of Numbers in Languages
//Many a times we do need the list of numbers in languages. i did a lot of times but couldnt find it, so i got the unfiltered list
//applied some regex and got the final list as follow.
//List of numbers from 1-100 in English
private String[] numbersArray_En = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten",
"eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty",
"twenty-one", "twenty-two", "twenty-three", "twenty-four", "twenty-five", "twenty-six", "twenty-seven", "twenty-eight", "twenty-nine", "thirty",
"thirty-one", "thirty-two", "thirty-three", "thirty-four", "thirty-five", "thirty-six", "thirty-seven", "thirty-eight", "thirty-nine", "forty",
"forty-one", "forty-two", "forty-three", "forty-four", "forty-five", "forty-six", "forty-seven", "forty-eight", "forty-nine", "fifty",
@M-ZubairAhmed
M-ZubairAhmed / gist:8c6720c0e1537e3729b9fa3283c2eb23
Created February 8, 2017 13:53 — forked from gravitymonkey/gist:2406023
100 most common english words, as a java string array
String[] common = {"the","of","and","a","to","in","is","you","that","it","he","was","for","on","are","as","with","his","they","I","at","be","this","have","from","or","one","had","by","word","but","not","what","all","were","we","when","your","can","said","there","use","an","each","which","she","do","how","their","if","will","up","other","about","out","many","then","them","these","so","some","her","would","make","like","him","into","time","has","look","two","more","write","go","see","number","no","way","could","people","my","than","first","water","been","call","who","oil","its","now","find","long","down","day","did","get","come","made","may","part"};
@M-ZubairAhmed
M-ZubairAhmed / bitChange.java
Created January 25, 2017 13:25
Calculating Number of Bits changed to get to new Number
public static int convertBits(int initialNumber, int newNumber) {
return Integer.bitCount(initialNumber ^ newNumber);
}
}
@M-ZubairAhmed
M-ZubairAhmed / removingRepetitions.java
Created January 25, 2017 07:38
A simple algorithm to remove repetitions form the string. eg. azzbyyyx -> abyx
public class Main {
public static void main(String[] args) {
String originalString = "azzbyyyx";
StringBuilder str = new StringBuilder(originalString);
int loopCounter = 0;
int repetitionCounter = 0;
while (true) {
if (loopCounter < str.length() - 1) {
@M-ZubairAhmed
M-ZubairAhmed / conversionDecimalToBinaryHexaDecimal.java
Created January 13, 2017 14:41
Conversion from a Decimal Number to Binary & Hexadecimal Number
int decimalNum;
//Converts decimal number to binary, where regex is 2
Integer.toString(decimalNum,2);
//Converts decimal number to hexadecimal, where regex is 16
Integer.toString(decimalNum,16);