zoukankan      html  css  js  c++  java
  • poj 1316 Self Numbers

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

    #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; 

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

  • 相关阅读:
    SAP Easy tree
    SAP Column tree
    SAP Tree
    SAP 文本框多行输入
    SAP -SE30 程序运行时间分析
    SAP 实例- 页签tabsrip
    ABAP CDS
    ABAP CDS
    ABAP CDS
    ABAP CDS
  • 原文地址:https://www.cnblogs.com/zsboy/p/2446050.html
Copyright © 2011-2022 走看看