Q1) Express a number as sum of consecutive numbers
import [Link].*;
class ConsecutiveSum {
static void printRange(int last, int first){
[Link](first);
for (int x = first + 1; x <= last; x++) [Link](" + " + x);
[Link]();
}
static int process(int n){
int printed = 0;
for (int len = 2; len < n; len++){
for (int first = 1; first < len; first++){
if (2*n == len*(len+2*first-1)){
[Link](n + " = ");
printRange(first+len-1, first);
printed++;
}
}
}
return printed==0 ? -1 : printed;
}
public static void main(String[] args){
Scanner sc = new Scanner([Link]);
int n = [Link]();
if (process(n)==-1) [Link](-1);
}
}
Q2) Add two binary numbers (as strings)
import [Link].*;
class BinaryAdd {
static String add(String a, String b){
StringBuilder sb = new StringBuilder();
int i=[Link]()-1, j=[Link]()-1, carry=0;
while(i>=0 || j>=0 || carry>0){
int d = carry;
if (i>=0) d += [Link](i--)-'0';
if (j>=0) d += [Link](j--)-'0';
[Link](d%2);
carry = d/2;
}
return [Link]().toString();
}
public static void main(String[] args){
Scanner sc=new Scanner([Link]);
String a=[Link](), b=[Link]();
[Link]("Sum: " + add(a,b));
}
}
Q3) Check if a number is Armstrong (3-digit) and list all in a range
import [Link].*;
class ArmstrongRange {
static boolean isArm(int n){
int s=0, t=n;
while(t>0){ int d=t%10; s+=d*d*d; t/=10; }
return s==n;
}
public static void main(String[] args){
Scanner sc=new Scanner([Link]);
int L=[Link](), R=[Link]();
boolean found=false;
for(int x=L; x<=R; x++){
if(x>=100 && x<=999 && isArm(x)){
[Link](x + " ");
found=true;
}
}
if(!found) [Link](-1);
else [Link]();
}
}
Q4) Palindrome test for a word (ignore case)
import [Link].*;
class PalWord {
static boolean isPal(String s){
s=[Link]();
int i=0,j=[Link]()-1;
while(i<j) if([Link](i++)!=[Link](j--)) return false;
return true;
}
public static void main(String[] args){
Scanner sc=new Scanner([Link]);
String s=[Link]();
[Link](isPal(s) ? "PALINDROME" : "NOT PALINDROME");
}
}
Q5) Prime factors of a number (ascending)
import [Link].*;
class PrimeFactors {
public static void main(String[] args){
Scanner sc=new Scanner([Link]);
int n=[Link]();
if(n<=1){ [Link](-1); return; }
for(int p=2; p*p<=n; p++){
while(n%p==0){ [Link](p + " "); n/=p; }
}
if(n>1) [Link](n);
[Link]();
}
}
Q6) Generate first N Fibonacci numbers
import [Link].*;
class FibonacciN {
public static void main(String[] args){
Scanner sc=new Scanner([Link]);
int n=[Link]();
if(n<=0){ [Link](-1); return; }
long a=0,b=1;
for(int i=1;i<=n;i++){
[Link](a + (i==n?"":" "));
long c=a+b; a=b; b=c;
}
[Link]();
}
}
Q7) Sort an array using Bubble Sort and print swaps count
import [Link].*;
class BubbleSortCount {
public static void main(String[] args){
Scanner sc=new Scanner([Link]);
int n=[Link]();
if(n<=0){ [Link](-1); return; }
int[] a=new int[n];
for(int i=0;i<n;i++) a[i]=[Link]();
int swaps=0;
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
if(a[j]>a[j+1]){
int t=a[j]; a[j]=a[j+1]; a[j+1]=t; swaps++;
}
}
}
for(int x:a) [Link](x+" ");
[Link]("\nSwaps: "+swaps);
}
}
Q8) Count vowels, consonants, digits, and spaces in a sentence
import [Link].*;
class CharTally {
public static void main(String[] args){
Scanner sc=new Scanner([Link]);
String s=[Link]();
int v=0,c=0,d=0,sp=0,oth=0;
for(char ch: [Link]()){
if("aeiouAEIOU".indexOf(ch)>=0) v++;
else if([Link](ch)) c++;
else if([Link](ch)) d++;
else if([Link](ch)) sp++;
else oth++;
}
[Link]("Vowels: "+v);
[Link]("Consonants: "+c);
[Link]("Digits: "+d);
[Link]("Spaces: "+sp);
[Link]("Others: "+oth);
}
}