讨论 / 为什么没输出?是这样做的吗?
怡红公子 2011-11-03 06:37:00
点我顶贴 收藏 删除
#include<iostream>

#include<math.h>

using namespace std;

int b[101];

int gongyue(int a,int b[],int i)

{

if(a>b[i]) swap(a,b[i]);

int s,k=b[i];

while(a!=0)

{

s=k%a;

k=a;

a=s;

}

return k;

}

int main()

{

int n,a,c[1000],i,j;

cin>>n;

for(i=1;i<=n;i++)

{cin>>a>>b[i];

if(a!=1)

{j=gongyue(a,b,i);

b[i]=b[i]/j; }

}

memset(c,0,sizeof(c));

for(i=1;i<=n;i++)

for(j=2;j<=b[i];j++)

if(b[i]%j==0) c[j]=1;

for(j=1;j<=1000;j++)

if(c[j]==1)

{

i=2;

while(i*j<=1000)

{

c[i*j]=0;

i++; }

}

int s=1;

for(i=1;i<=1000;i++)

if(c[i]==1)

s=s*i;

int d[100];i=1;

while(s!=0)

{

d[i]=s%16;

i++;

s=s/16;

}

for(j=i-1;j>0;j--)

if(0<=d[j]&&d[j]<10)

cout<<d[j];

else switch(d[j])

{

case 10:cout<<"A";break;

case 11:cout<<"B";break;

case 12:cout<<"C";break;

case 13:cout<<"D";break;

case 14:cout<<"E";break;

case 15:cout<<"F";break;

}

system("pause");

}

查看更多回复
提交回复