对于给定的字符序列,从左至右将所有的数字字符取出拼接成一个无符号整数(计算并输出该整数的最大因子
#include#include
int prime(int n)//判断素数
{
int flag=1,i;
for(i=2;i<N 2 && flag="=1;i++)
if(n%i==0)
flag=0;
return(flag);
}
int f(char str[])//从左至右将所有的数字字符取出拼接成一个无符号整数计算并输出该整数的最大因子
{int t=0,i=0;
while(str[i]!='\0')
{
if(str[i]>='0'&&str[i]<'10')
{t=t*10+str[i]-'0';
i++;
}
else
i++;
}
if(t==0)
{printf("0");}
for(i=t;i>0;i--)
{
if(t%i==0 && prime(i))
return i;
}
}
void main()
{
char str[100];
int i,j, n,a[10];
scanf("%d",&n);
{
for(i=0;i<N;I++)
scanf("%s",str);
if(f(str))
a[i]=f(str);
}
for(j=0;j<N;J++)
printf("%d",a[j]);
}