Given an integer n, write a function that returns count of trailing zeroes in n!. Examples: Input: n = 5 Output: 1 Factorial of 5 is 20 which has one trailing 0. Input: n = 20 Output: 4 Factorial of 20 is 2432902008176640000 which has 4 trailing zeroes. Input: n = 100 Output: 24
//linked list
ReplyDelete#include
using namespace std;
/*********************************************************************************/
struct node{
struct node* next;
int data;
};
/*********************************************************************************/
/*********************************************************************************/
void create_linked_list(struct node** head,struct node** tail,int data)
{
if(*tail==NULL)
{
(*tail) =new node;
(*tail)->next=NULL;
(*tail)->data=data;
*head=*tail;
}
else
{
(*tail)->next=new node;
(*tail)->next->next=NULL;
(*tail)->next->data=data;
(*tail)=(*tail)->next;
}
}
/*********************************************************************************/
void traverse_linked_list(struct node* head)
{
cout<<"\n";
while(head!=NULL)
{
cout<data<<" ";
head=head->next;
}
cout<<"\n";
}
/*********************************************************************************/
void delete_linked_list(struct node* head)
{
struct node* prev=head;
while(head!=NULL)
{
prev=head;
head=head->next;
delete(prev);
}
}
/*********************************************************************************/
void remove_duplicates_from_sorted_list(struct node* head)
{
if(head->next==NULL)
return;
struct node* current=head->next;
struct node* previous=head;
while(current!=NULL)
{
if(current->data==previous->data)
{
previous->next=current->next;
delete(current);
current=previous->next;
}
else
{
previous=current;
current=current->next;
}
}
}
/**********************************************************************************/
int main()
{
struct node*first=NULL,*last=NULL;
create_linked_list(&first,&last,6);
create_linked_list(&first,&last,6);
create_linked_list(&first,&last,6);
create_linked_list(&first,&last,6);
create_linked_list(&first,&last,6);
create_linked_list(&first,&last,1);
traverse_linked_list(first);
remove_duplicates_from_sorted_list(first);
traverse_linked_list(first);
delete_linked_list(first);
system("pause");
return 0;
}