You are on page 1of 2

#include<iostream>

using namespace std;


int store(int a[],int i,int n,int key,int*out,int j){
if(i==n){
return j;
}
if(a[i]==key){
out[j]=i;
return store(a,i+1,n,key,out,j+1);
}
return store(a,i+1,n,key,out,j);
}
void all(int arr[],int i,int n,int key){
if(i==n){
return;
}
if(arr[i]==key){
cout<<i<<" ";
}
all(arr,i+1,n,key);
}
int last(int arr[],int n,int key){
if(n==0){
return -1;
}
int i=last(arr+1,n-1,key);
if(i==-1){
if(arr[0]==key){
return 0;
}
else{
return -1;
}
}
return i+1;
}
int fun(int arr[],int n,int key){
if( n==0){
return -1;
}
if(arr[0]==key){
return 0;
}
int i=fun(arr+1,n-1,key);
if(i==-1){
return -1;
}
return i+1;
}
int main(){
int arr[]={4,5,2,8,8,9,8,4};
int key=8;
cout<<fun(arr,8,key)<<endl;
cout<<last(arr,8,key)<<endl;
//all(arr,0,8,key);
int output[100];
int cnt=store(arr,0,8,key,output,0);
cout<<cnt<<endl;
for(int k=0;k<cnt;k++){
cout<<output[k];
}
}

#include<iostream>
using namespace std;
int pow(int a,int n){
if(n==0){
return 1;
}
return a*pow(a,n-1);
}
int fastPow(int a,int n){
if(n==0){
return 1;
}
int ans=fastPow(a,n/2);
ans*=ans;
if(n%2!=0){
return a*ans;
}
return ans;

}
int main(){
int a,n;
cin>>a>>n;
cout<<pow(a,n);
cout<<fastPow(a,n);
}

You might also like