前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >poj 1316 Self Numbers

poj 1316 Self Numbers

作者头像
用户1624346
发布2018-04-11 17:03:43
7350
发布2018-04-11 17:03:43
举报
文章被收录于专栏:calmoundcalmound

题意:找出10000以内所有的不能由n+n的各位数字和组成的数字

代码语言:javascript
复制
#include<stdio.h>
#include<string.h>
int main()
{
	int i=1;
	int a[100100];//数组开小了,错
	memset(a,0,sizeof(a));
	for (i=1;i<10000;i++)
	{
		a[i+i%10+(i/10)%10+(i/100)%10+i/1000]=1;
	}
	for (i=1;i<10000;i++)
		if(a[i]==0)  printf("%d\n",i);
	return 0;
}

这道题错的原因是只是4位数,所以i最后/1000而不是10000;

数组开小了,虽然输出的时候用不到10000后的数组,但是在

存储过程中是需要用到的,由于数组开小了,导致最后无法读

出程序

另解法,搜索大牛结题报告

当一个数为 generator,则必定可以拆分成a*2+b*11+c*101+d*1001(0=<a,b,c,d<=9)

其中

2=1+1;

11=10+1;

101=100+1+0;

1001=1000+1+0+0; 

类似于递归,所有的数可以追溯到最底层的 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-04-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档