Problem link : UVa 10235 - Simply Emirp
Solution :
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int prime(long long int n)
{
int i,j;
if(n==1)
return 0;
if(n==2)
return 1;
if(n%2==0)
return 0;
int l=sqrt(n);
for(i=3;i<=l;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
long long int n,i,j,m,sum;
while(scanf("%lld",&n)==1)
{
i=0; j=0; sum=0;
if(prime(n))
i=1;
if(i==1)
{
m=n;
while(m!=0)
{
sum=((sum*10)+(m%10));
m/=10;
}
if(prime(sum))
j=1;
}
if(j==1 && n!=sum)
printf("%lld is emirp.\n",n);
else if(i==1)
printf("%lld is prime.\n",n);
else
printf("%lld is not prime.\n",n);
}
return 0;
}
Problem link : UVa 10222 - Decode the Mad Man
Solution :
#include<stdio.h>
#include<string.h>
int main()
{
char a[10005];
int i,l;
while(gets(a))
{
l=strlen(a);
for(i=0;i<l;i++)
{
if(a[i]==']')
a[i]='p';
else if(a[i]=='[')
a[i]='o';
else if(a[i]=='p' || a[i]=='P')
a[i]='i';
else if(a[i]=='o' || a[i]=='O')
a[i]='u';
else if(a[i]=='i' || a[i]=='I')
a[i]='y';
else if(a[i]=='u' || a[i]=='U')
a[i]='t';
else if(a[i]=='y' || a[i]=='Y')
a[i]='r';
else if(a[i]=='t' || a[i]=='T')
a[i]='e';
else if(a[i]=='r' || a[i]=='R')
a[i]='w';
else if(a[i]=='e' || a[i]=='E')
a[i]='q';
else if(a[i]=='\'')
a[i]='l';
else if(a[i]==';')
a[i]='k';
else if(a[i]=='l' || a[i]=='L')
a[i]='j';
else if(a[i]=='k' || a[i]=='K')
a[i]='h';
else if(a[i]=='j' || a[i]=='J')
a[i]='g';
else if(a[i]=='h' || a[i]=='H')
a[i]='f';
else if(a[i]=='g' || a[i]=='G')
a[i]='d';
else if(a[i]=='f' || a[i]=='F')
a[i]='s';
else if(a[i]=='d' || a[i]=='D')
a[i]='a';
else if(a[i]=='/')
a[i]=',';
else if(a[i]=='.')
a[i]='m';
else if(a[i]==',')
a[i]='n';
else if(a[i]=='m' || a[i]=='M')
a[i]='b';
else if(a[i]=='n' || a[i]=='N')
a[i]='v';
else if(a[i]=='b' || a[i]=='B')
a[i]='c';
else if(a[i]=='v' || a[i]=='V')
a[i]='x';
else if(a[i]=='c' || a[i]=='C')
a[i]='z';
else if(a[i]=='=')
a[i]='0';
else if(a[i]=='-')
a[i]='9';
else if(a[i]=='0')
a[i]='8';
else if(a[i]=='9')
a[i]='7';
else if(a[i]=='8')
a[i]='6';
else if(a[i]=='7')
a[i]='5';
else if(a[i]=='6')
a[i]='4';
else if(a[i]=='5')
a[i]='3';
else if(a[i]=='4')
a[i]='2';
else if(a[i]=='3')
a[i]='1';
else if(a[i]=='2')
a[i]='`';
}
puts(a);
}
return 0;
}
Problem link : UVa 10195 - The Knights Of The Round Table
Solution :
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,i,r;
while(scanf("%lf %lf %lf",&a,&b,&c)==3)
{
if(a<=0||b<=0||c<=0)
printf("The radius of the round table is: 0.000\n");
else
{
i=(a+b+c)/2;
r=sqrt((i-a)*(i-b)*(i-c)/i);
printf("The radius of the round table is: %.3lf\n",r);
}
}
return 0;
}
Problem link : UVa 10110 - Light more light
Solution :
#include<stdio.h>
#include<math.h>
int main()
{
long long int n,a,i;
while(scanf("%lld",&n)==1)
{
if(n==0)
break;
i=sqrt(n);
a=i*i;
if(a==n)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
Problem link : UVa 10082 - WERTYU
Solution :
#include<bits/stdc++.h>
using namespace std;
char a[]={"`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"};
char f(char c)
{
for(int i=0;i<47;i++)
{
if(a[i]==c) return a[i-1];
}
return c;
}
int main()
{
char s[10005];
while(gets(s))
{
int l=strlen(s);
for(int i=0;i<l;i++) s[i]=f(s[i]);
puts(s);
}
return 0;
}
Problem link : UVa 10079 - Pizza Cutting
Solution :
#include<stdio.h>
int main()
{
long long int a,n;
while(scanf("%lld",&n)==1)
{
if(n<0)
break;
a=1+((n*(n+1))/2);
printf("%lld\n",a);
}
return 0;
}
Problem link : UVa 10055 - Hashmat the Brave Warrior
Solution :
#include<stdio.h>
int main()
{
long long a,b,c;
while(scanf("%lld %lld",&a,&b)==2)
{
if(a>=b)
c=a-b;
else
c=b-a;
printf("%lld\n",c);
}
return 0;
}
Problem link : UVa 10019 - Funny Encryption Method
Solution :
#include<stdio.h>
int main()
{
int n,m,a,b,i,t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
m=n;
a=0;
while(m>0)
{
a+=m%2;
m/=2;
}
b=0;
while(n>0)
{
i=n%10;
if(i==1||i==2||i==4||i==8)
b++;
else if(i==3||i==5||i==6||i==9)
b+=2;
else if(i==7)
b+=3;
n/=10;
}
printf("%d %d\n",a,b);
}
return 0;
}
Problem link : UVa 10018 - Reverse and Add
Solution :
#include<stdio.h>
long long rev(long long int n)
{
long long int i;
i=0;
while(n>0)
{
i=(i*10)+(n%10);
n=n/10;
}
return i;
}
int main()
{
long long int a,b,m,t,tc;
scanf("%lld",&tc);
for(t=1;t<=tc;t++)
{
scanf("%lld",&a);
m=0;
b=rev(a);
while(a!=b)
{
a=(a+b);
b=rev(a);
m++;
}
printf("%lld %lld\n",m,a);
}
return 0;
}
Problem link : UVa 913 - Joana and the Odd Numbers
Solution :
#include<stdio.h>
int main()
{
long long int a,n;
while(scanf("%lld",&n)==1)
{
a=(((n*(n+2)/2)*3)-6);
printf("%lld\n",a);
}
return 0;
}
Problem link : UVa 694 - The Collatz Sequence
Solution :
#include<stdio.h>
int main()
{
long long int a,l,c,i,m=0,n;
while(scanf("%lld %lld",&a,&l)==2)
{
if(a<0 && l<0)
break;
c=0; i=a; m++;
while(a<=l)
{
c++;
if(a==1)
break;
if(a%2==0)
a=a/2;
else
a=3*a+1;
}
printf("Case %lld: A = %lld, limit = %lld, number of terms = %lld\n",m,i,l,c);
}
return 0;
}
Problem link : UVa 686 - Goldbach's Conjecture (II)
Solution :
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
bool Isp(int n)
{
int i,j;
if(n==1)
return 0;
if(n==2)
return 1;
if(n%2==0)
return 0;
int l=sqrt(n);
for(i=3;i<=l;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int a,b,i,m,n,c;
while(scanf("%d",&n)==1)
{
if(n==0)
break;
a=0,b=0,c=0;
for(i=n-1;i>=n/2;i--)
{
if(Isp(i))
{
m=n-i;
if(Isp(m))
{
c++;
}
}
}
printf("%d\n",c);
}
return 0;
}
Problem link : UVa 591 - Box of Bricks
Solution :
#include<stdio.h>
int main()
{
int a[105],n,sum,avg,k,i,st=1;
while(scanf("%d",&n)==1)
{
if(n==0) break;
sum=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
avg=sum/n; k=0;
for(i=1;i<=n;i++)
{
if(a[i]>avg) k+=(a[i]-avg);
}
printf("Set #%d\n",st); st++;
printf("The minimum number of moves is %d.\n\n",k);
}
return 0;
}
Problem link : UVa 579 - Clock Hands
Solution :
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
double h,m,t,i,j,k,l,n,a;
while(scanf("%lf:%lf", &h, &m)==2)
{
if(h==0 && m==0)
break;
i=((h*30)+(m/2));
j=(m*6);
t=i-j;
if(t<0)
t*=-1;
if(t>180)
t=360-t;
printf("%.3lf\n",t);
}
return 0;
}
Problem link : UVa 543 - Goldbach's Conjecture
Solution :
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
bool Isp(int n)
{
int i,j;
if(n==1)
return 0;
if(n==2)
return 1;
if(n%2==0)
return 0;
int l=sqrt(n);
for(i=3;i<=l;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int a,b,i,m,n;
while(scanf("%d",&n)==1)
{
if(n==0)
break;
else if(n<6 && n>0)
{
printf("Goldbach's conjecture is wrong.\n");
continue;
}
a=0,b=0;
for(i=n-1;i>=n/2;i--)
{
if(Isp(i))
{
m=n-i;
if(Isp(m))
{
if(i%2==1 && m%2==1)
{
a=i;
b=m;
break;
}
}
}
}
if(a>0 && b>0 && a<=b)
printf("%d = %d + %d\n",n,a,b);
else if(a>0 && b>0 && b<a)
printf("%d = %d + %d\n",n,b,a);
else
printf("Goldbach's conjecture is wrong.\n");
}
return 0;
}
Problem link : UVa 494 - Kindergarten Counting Game
Solution :
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[10005];
int i,l,cnt;
while(gets(a))
{
l=strlen(a); cnt=0;
for(i=0;i<l;i++)
{
if(isalpha(a[i]) && !isalpha(a[i+1])) cnt++;
}
printf("%d\n",cnt);
}
return 0;
}
Problem link : UVa 488 - Triangle Wave
Solution :
#include<stdio.h>
int main()
{
long long int amp, fre, a,i,j,t,m,tc;
scanf("%lld", &tc);
for(t=1;t<=tc;t++)
{
scanf("%lld %lld", &, &fre);
for(a=1;a<=fre;a++)
{
for(i=1; i<=amp; i++)
{
for(j=1; j<=i; j++)
{
printf("%lld", i);
}
printf("\n");
}
for(i=amp-1; i>=1; i--)
{
for(j=1; j<=i; j++)
{
printf("%lld", i);
}
if(t==tc&&a==fre&&i==1)
break;
printf("\n");
}
printf("\n");
}
}
return 0;
}
Problem link : UVa 483 - Word Scramble
Source code :
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{
char a[100005],b[100005],c[100005];
int i,j,k,l,m,n;
while(gets(a))
{
l=strlen(a);
a[l++]=' ';
a[l]='\0';
j=0;
for(i=0;i<l;i++)
{
if(a[i]==' ')
{
k=(i-1);
for(m=k;m>=j;m--)
cout<<a[m];
if(i!=(l-1))
cout<<" ";
j=i+1;
}
}
cout<<endl;
}
return 0;
}