Sorry for starting another thread but I cannot get AC for Bangla numbers - 10101.
Code: Select all
Removed after getting accepted.
Thanx.
Moderator: Board moderators
Code: Select all
Removed after getting accepted.
Code: Select all
cout<<unit<<;
Code: Select all
cout<<unit;
Code: Select all
100000010000000
100000000000000
Code: Select all
if(kase<10){
cout<<" ";
}
else if(kase<100){
cout<<" ";
}
else if(kase<1000){
cout<<" ";
}
Code: Select all
if(kase<10){
cout<<" ";
}
else if(kase<100){
cout<<" ";
}
else if(kase<1000){
cout<<" ";
}
emotional blind wrote:Input:Check this,Code: Select all
100000010000000 100000000000000
Your code gives Wrong output for these.
your code givesvinay wrote: My code gives these output:
1. 1 kuti 1 kuti
2. 1 kuti kuti
What is th correct output?
Code: Select all
1. 1 kuti 1 kuti
2. 1 kuti kuti kuti
Code: Select all
1000000100000000
10000001000000000
Code: Select all
1. kuti 10 kuti kuti
2. kuti 1 shata kuti kuti
Not at all its giving correct answeremotional blind wrote:
your code givesCode: Select all
1. 1 kuti 1 kuti 2. 1 kuti kuti kuti
Code: Select all
100000010000000
100000000000000
Code: Select all
1. 1 kuti 1 kuti
2. 1 kuti kuti kuti
Code: Select all
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct data node;
struct data
{
char kuti,lakh,hajar,shata;
node *next;
} *head,*curr;
void push(char a,char b,char c,char d)
{
curr=(node*)malloc(sizeof(node));
curr->kuti=a; curr->lakh=b; curr->hajar=c; curr->shata=d;
curr->next=NULL;
if(!head)
{
head=curr;
}
else
{
curr->next=head;
head=curr;
}
}
void popall(void)
{
while(head)
{
curr=head;
head=head->next;
free(curr);
}
}
int main()
{
int i,j,kas=1,len;
char bil[50],a,b,c,d,e,flag;
while(gets(bil))
{
if(strlen(bil)<3)
{
printf("%4d. %s\n",kas,bil);
kas++; continue;
}
if(atoi(bil)==0)
{
printf("%4d. 0\n",kas);
kas++; continue;
}
len=strlen(bil);
for(flag=i=0;i<len;i++)
{
if(bil[i]=='0'&&flag==0)
{
for(j=1;j<len;j++) bil[j-1]=bil[j];
bil[len-1]='\0'; len--;
}
else if(bil[i]!='0') flag=1;
}
a=b=c=d=flag=0;
e=(bil[len-2]-'0')*10+(bil[len-1]-'0');
for(i=len-3;i>=0;i--)
{
if(flag==0)
{
d=bil[i]-'0'; flag++;
}
else if(flag==1)
{
c=bil[i]-'0'; flag++;
}
else if(flag==2)
{
c+=10*(bil[i]-'0'); flag++;
}
else if(flag==3)
{
b=bil[i]-'0'; flag++;
}
else if(flag==4)
{
b+=10*(bil[i]-'0'); flag++;
}
else if(flag==5)
{
a=bil[i]-'0'; flag++;
}
else if(flag==6)
{
a+=10*(bil[i]-'0');
push(a,b,c,d); flag=0;
}
}
if(flag==1) push(0,0,0,d);
else if(flag==2) push(0,0,c,d);
else if(flag==3) push(0,0,c,d);
else if(flag==4) push(0,b,c,d);
else if(flag==5) push(0,b,c,d);
else if(flag==6) push(a,b,c,d);
printf("%4d. ",kas);
for(curr=head;curr;curr=curr->next)
{
if(curr->kuti) printf("%d kuti ",curr->kuti);
if(curr->lakh) printf("%d lakh ",curr->lakh);
if(curr->hajar) printf("%d hajar ",curr->hajar);
if(curr->shata) printf("%d shata ",curr->shata);
if(curr!=head&&curr->kuti==0&&curr->lakh==0&&
curr->hajar==0&&curr->shata==0) printf("kuti ");
}
if(e>0) printf("%d",e);
printf("\n");
kas++;
popall();
}
return 0;
}
Code: Select all
762952003918195
Code: Select all
1. 7 kuti 62 lakh 95 hajar 2 shata kuti 39 lakh 18 hajar 1 shata 95
Code: Select all
#include <stdio.h>
void main(){
char in[16];
int i,l,p;
char a;
a=0;
while(gets(in)){
a++;
while(in[0]=='0' && in[1]!=0){
l=0;
while(in[l]){
in[l]=in[l+1];
l++;
}
}
i=l=0;
while(in[i]){
l++;
i++;
}
printf("%4d. ",a);
for(i=0;i<l;i++){
p=l-i-1;
if(p==0){
if(l>2){
if(in[i-1]!='0' && in[i]!='0'){
printf(" %c%c",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf(" %c%c",in[i-1],in[i]);
}else if(in[i-1]=='0' && in[i]!='0'){
printf(" %c",in[i]);
}
}else if(l==2){
if(in[i-1]!='0' && in[i]!='0'){
printf("%c%c",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf("%c%c",in[i-1],in[i]);
}else if(in[i-1]=='0'){
printf("%c",in[i]);
}
}else{
printf("%c",in[i]);
}
}
if(p==2){
if(l>3){
if(in[i]!='0'){
printf(" %c shata",in[i]);
}
}else{
printf("%c shata",in[i]);
}
}
if(p==3){
if(l>5){
if(in[i-1]!='0' && in[i]!='0'){
printf(" %c%c hajar",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf(" %c%c hajar",in[i-1],in[i]);
}else if(in[i-1]=='0' && in[i]!='0'){
printf(" %c hajar",in[i]);
}
}else if(l==5){
if(in[i]!='0' && in[i-1]!='0'){
printf("%c%c hajar",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf("%c%c hajar",in[i-1],in[i]);
}else if(in[i-1]=='0'){
printf("%c hajar",in[i]);
}
}else{
if(in[i]!='0'){
printf("%c hajar",in[i]);
}
}
}
if(p==5){
if(l>7){
if(in[i-1]!='0' && in[i]!='0'){
printf(" %c%c lakh",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf(" %c%c lakh",in[i-1],in[i]);
}else if(in[i-1]=='0' && in[i]!='0'){
printf(" %c lakh",in[i]);
}
}else if(l==7){
if(in[i-1]!='0' && in[i]!='0'){
printf("%c%c lakh",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf("%c%c lakh",in[i-1],in[i]);
}else if(in[i-1]=='0'){
printf("%c lakh",in[i]);
}
}else{
if(in[i]!='0'){
printf("%c lakh",in[i]);
}
}
}
if(p==7){
if(l>9){
if(in[i-1]!='0' && in[i]!='0'){
printf(" %c%c kuti",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf(" %c%c kuti",in[i-1],in[i]);
}else if(in[i-1]=='0' && in[i]!='0'){
printf(" %c kuti",in[i]);
}else{
printf(" kuti");
}
}else if(l==9){
if(in[i-1]!='0' && in[i]!='0'){
printf("%c%c kuti",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf("%c%c kuti",in[i-1],in[i]);
}else if(in[i-1]=='0'){
printf("%c kuti",in[i]);
}else{
printf(" kuti");
}
}else{
printf("%c kuti",in[i]);
}
}
if(p==9){
if(l>10){
if(in[i]!='0'){
printf(" %c shata",in[i]);
}
}else{
if(in[i-1]!='0'){
printf("%c shata",in[i]);
}
}
}
if(p==10){
if(l>12){
if(in[i-1]!='0' && in[i]!='0'){
printf(" %c%c hajar",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf(" %c%c hajar",in[i-1],in[i]);
}else if(in[i-1]=='0' && in[i]!='0'){
printf(" %c hajar",in[i]);
}
}else if(l==12){
if(in[i-1]!='0' && in[i]!='0'){
printf("%c%c hajar",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf("%c%c hajar",in[i-1],in[i]);
}else if(in[i-1]=='0'){
printf("%c hajar",in[i]);
}
}else{
if(in[i]!='0'){
printf("%c hajar",in[i]);
}
}
}
if(p==12){
if(l>14){
if(in[i-1]!='0' && in[i]!='0'){
printf(" %c%c lakh",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf(" %c%c lakh",in[i-1],in[i]);
}else if(in[i-1]=='0' && in[i]!='0'){
printf(" %c lakh",in[i]);
}
}else if(l==14){
if(in[i-1]!='0' && in[i]!='0'){
printf("%c%c lakh",in[i-1],in[i]);
}else if(in[i-1]!='0' && in[i]=='0'){
printf("%c%c lakh",in[i-1],in[i]);
}else if(in[i-1]=='0'){
printf("%c lakh",in[i]);
}
}else{
if(in[i]!='0'){
printf("%c lakh",in[i]);
}
}
}
if(p==14){
if(in[i]!='0'){
printf("%c kuti",in[i]);
}
}
}
printf("\n");
}
}
Code: Select all
Accepted
Code: Select all
#include<iostream>
#include<cstdio>
#include<vector>
#include<string>
#include<algorithm>
#include<cmath>
#include<list>
#include<queue>
#include<cctype>
#include<stack>
#include<map>
#include<set>
using namespace std;
void convert(long long n)
{
int flag=0;
if(n>100000)
{printf("%Ld lakh",n/100000);flag=1;}
if((n%100000)/1000>0)
{
printf("%s",flag?" ":"");
printf("%Ld hajar",(n%100000)/1000);
flag=1;
}
if((n%1000)/100>0)
{
printf("%s",flag?" ":"");
printf("%Ld shata",(n%1000)/100);
flag=1;
}
if(n%100>0)
{
printf("%s",flag?" ":"");
printf("%Ld",(n%100));
}
}
int main()
{
long long n;
int count=0;
while(cin>>n)
{
count++;
printf("%4d. ",count);
int flag=0;
if((n/10000000)/10000000)
{
convert((n/10000000)/10000000);
printf(" kuti");
flag=1;
}
if(n/10000000)
{
if(flag &&((n%((long long)10000000*(long long)10000000))/10000000 ))
printf(" ");
convert((n%((long long)10000000*(long long)10000000))/10000000);
printf(" kuti");
flag=1;
}
if(n%10000000)
{
if(flag)
printf(" ");
convert(n%10000000);
}
if(n==0)
printf("0");
printf("\n");
}
return 0;
}