算法竞赛入门例题3-5生成元
2016-05-15 10:18
357 查看
如果x加上x的各个数字之和得到y,就说x是y的生成元。给出n(1=<n<=100000),求最小生成元。无解输出0。例如,n=216,121 ,2005时的解分别为:198,0,1979.
源代码
#include <iostream>
#include<cstring>
using namespace std;
int a[100010];
int main()
{
memset(a,0,sizeof(a)); //只能是0,别的会是乱码
for(int x=1;x<=99999;x++)
{
int c1=x;
int tmp=x;
while(tmp!=0)
{
c1=c1+tmp%10;
tmp=tmp/10;
}
if(c1<=10000)
{
if(a[c1]==0||x<a[c1])
a[c1]=x;
}
}
int n;
cin>>n;
cout<<a
<<endl;
return 0;
}
思路:数组号是数,而数组内容是序号
源代码
#include <iostream>
#include<cstring>
using namespace std;
int a[100010];
int main()
{
memset(a,0,sizeof(a)); //只能是0,别的会是乱码
for(int x=1;x<=99999;x++)
{
int c1=x;
int tmp=x;
while(tmp!=0)
{
c1=c1+tmp%10;
tmp=tmp/10;
}
if(c1<=10000)
{
if(a[c1]==0||x<a[c1])
a[c1]=x;
}
}
int n;
cin>>n;
cout<<a
<<endl;
return 0;
}
思路:数组号是数,而数组内容是序号
相关文章推荐
- 第94讲, 使用Scala开发集群运行的Spark 实现在线黑名单过滤程序
- iOS 网络编程:NSURLSession
- js中最容易被忽视的事件问题大总结
- Linux/Centos下/lib64/libc.so.6: version `GLIBC_2.14' not found问题
- 杭电1022 train problem
- div中嵌套div水平垂直居中
- python异常处理(基础)
- DAY2 raw_input() 与 input() Python
- 二:侧滑菜单的实现
- 用R语言模拟掷硬币过程
- 自定义ViePage实现禁用滑动和释放的效果
- hadoop集群中的时间同步
- ActionBar切换ViewPager
- JDBC链接MySql数据库的简单讲解
- 常用Mysql命令
- 分享php多功能图片处理类
- 怎样区分病毒性感冒和细菌性感冒?
- Java数据结构之二叉树的实现
- TF-IDF与余弦相似性的应用
- objective-c - 基础篇 - 数据库网络 - sqlite的链接+增删改查