#include<iostream>
using namespace std;
int fact(int);
int main()
{
int m,n,a,b,c;
n=100;
while(n<1000)
{
c=n%10;
b=(n/10)%10;
a=n/100;
m=fact(a)+fact(b)+fact(c);
if(m==n)
cout<<n<<endl;
++n;
}
return 0;
}
int fact(int n)
{
int i, f=1;
for(i=1;i<=n;++i)
f=f*i;
return f;
}
数组素数排列
#include<iostream.h>
void sort(int p[],int n)
{
int i,j,k;
for(i=1;i<=n;i++)
for(j=0;j<=n;j++)
{
if(p[j]>p[j+1])
{
k=p[j];
p[j+1]=p[j];
p[j]=k;
}
}
}
int prime(int n)
{
int i,found=1;
for(i=2;i<n/2;i++)
{
if(n%i==0)
{
found=0;break;
}
}
return found;
}
void print(int p[],int n)
{
int i;
for(i=0;i<n;i++)
cout<<p[i]<<" ";
}
int main()
{
int a[10]={21,3,5,4,19,53,27,23,28,11};
int b[10],j=0,t;
for(t=0;t<10;t++)
{
if(prime(a[t]))
{
b[j]=a[t];
j++;
}
}
sort(b,j);
cout<<endl;
print(b,j);
return 0;
}