Code: Select all
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
long double r;
while (cin >> r)
{
cout <<setprecision(3)<<fixed<<showpoint;
cout <<r*r*(43/21.0 - sqrt(3))<<" ";
cout <<4*r*r*( (sqrt(3)/2) - (31/42.0))<<" ";
cout <<4*r*r*(10/21.0 - sqrt(3)/4) <<endl;
}
return 0;
}
and also this one
Code: Select all
#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
vector <int> ans;
bool used[10]={false};
bool cek(int x)
{
int i,j,k;
int tab[10]={0},index[10]={0};
char angka[10]=("");
itoa(x,angka,10);
for (i=0,j=0;i<strlen(angka);i++)
{
if (index[j]==1) return false;
else index[j]=1;
j=(j+angka[j] -48 )%strlen(angka);
}
for (i=0;i<strlen(angka);i++) if (index[i]==0) return false;
if (j==0) return true;
return false;
}
void generate(int level,int angka)
{
if (cek(angka)) ans.insert (ans.end(),angka);
if (angka>987654321);
else
{
for (int i=1;i<=9;i++)
{
if (used[i]) continue;
used[i]=true;
generate(level+1,angka*10+i);
used[i]=false;
}
}
}
int main()
{
int start,cas=0;
for (int i=1;i<=9;i++)
{
used[i]=true;
generate(1,i);
used[i]=false;
}
vector <int>::const_iterator j;
cin >> start;
sort(ans.begin(),ans.end());
while (start!=0)
{
cas++;
for (j=ans.begin();j!=ans.end();j++)
{
if ((*j)>=start)
{
cout << "Case "<<cas <<": "<<*j <<endl;
break;
}
}
cin >> start;
}
return 0;
}