暴力模拟找规律:
552287 | 2014-04-23 21:08:48 | Accepted | 2161 | Visual C++ | 0 ms | 192KB | 347B | Watermelon |
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n>=&&n<)printf("2\n");
if(n>=&&n<)printf("5\n");
if(n>=&&n<)printf("1\n");
if(n>=&&n<)printf("8\n");
if(n>=&&n<)printf("3\n");
if(n>=&&n<)printf("1\n");
if(n>=)printf("3\n");
}
return ;
}
源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define num 20001
char s[];
int a[num]={,};
void db()
{
int i,j,k=,flag;
for(i=;;i+=)
{
flag=;
for(j=;a[j]*a[j]<=i;j++)
{
if(i%a[j]==)
{
flag=;
break;
}
}
if(flag)a[k++]=i;
if(k==num)break;
}
}
int ans;
int fuc(char s[],int k)
{
int len=strlen(s);
//printf("k=%d len=%d %s\n",k,len,s);
if(len==)
{
ans=atoi(s);
//printf("txt=%d\n",x);
return ans;
}
else if(k%!=)
{
int i,y=;
char str[];
for(i=;i<strlen(s);i+=)
str[y++]=s[i];
str[y]='\0';
//printf("k=%d %s\n",k,str);
fuc(str,++k);
}
else
{
int i=,y=;
char str[];
for(;i<strlen(s);i+=)
str[y++]=s[i];
str[y]='\0';
//printf("k=%d %s\n",k,str);
fuc(str,++k);
}
}
int main()
{
db();
int n,i,j;
int x;
while(scanf("%d",&n)!=EOF)
{
memset(s,,sizeof(s));
char str[];
int len,k=;
for(i=;i<n;i++)
{
itoa(a[i],str,);
len=strlen(str);
for(j=;j<len;j++)
{
s[k++]=str[j];
}
}
x=fuc(s,);
printf("%d\n",ans);
}
//system("pause");
return ;
}