USACO Section 1.3 : Prime Cryptarithm
# include <stdio.h>
# include <math.h>
# include <string.h>
int i,j,k,N,t,s1,s2,num;
int f[11]={0};
check(int a)
{
while (a>0)
{
if (!f[a%10])
return 0;
a/=10;
}
return 1;
}
main ()
{
FILE *in=fopen("crypt1.in","r");
FILE *out=fopen("crypt1.out","w");
fscanf (in,"%d",&N);
for (i=1;i<=N;i++)
{
fscanf (in,"%d",&t);
f[t]=1;
}
num=0;
for (i=100;i<1000;i++)
{
if (check(i))
{
for (j=10; j<99; j++)
{
if (check(j))
{
s1=(j%10)*i;
s2=(j/10)*i;
if ((s1>999)||(!check(s1))) continue;
if ((s2>999)||(!check(s2))) continue;
if (!check(s2*10+s1)) continue;
num++;
}
}
}
}
fprintf (out,"%d\n",num);
fclose(in);
fclose(out);
exit (0);
}
# include <math.h>
# include <string.h>
int i,j,k,N,t,s1,s2,num;
int f[11]={0};
check(int a)
{
while (a>0)
{
if (!f[a%10])
return 0;
a/=10;
}
return 1;
}
main ()
{
FILE *in=fopen("crypt1.in","r");
FILE *out=fopen("crypt1.out","w");
fscanf (in,"%d",&N);
for (i=1;i<=N;i++)
{
fscanf (in,"%d",&t);
f[t]=1;
}
num=0;
for (i=100;i<1000;i++)
{
if (check(i))
{
for (j=10; j<99; j++)
{
if (check(j))
{
s1=(j%10)*i;
s2=(j/10)*i;
if ((s1>999)||(!check(s1))) continue;
if ((s2>999)||(!check(s2))) continue;
if (!check(s2*10+s1)) continue;
num++;
}
}
}
}
fprintf (out,"%d\n",num);
fclose(in);
fclose(out);
exit (0);
}
标签:
USACO
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架