• 逐位整除数


    
    
    //  n位逐位整除探索 ,c541 
    #include<stdio.h>
    void main()
    { int i,j,n,r,t,s,a[100];
      printf("  逐位整除数n位,请确定n:"); scanf("%d",&n);
      printf("  所求%d位逐位整除数:
    ",n);
      for(j=1;j<=100;j++) a[j]=0;
      t=0;s=0;
      i=1;a[1]=1;
      while(a[1]<=9)
       { if(t==0 && i<n) i++;
         for(r=0,j=1;j<=i;j++)    // 检测i时是否整除i
           { r=r*10+a[j]; r=r%i; }
             if(r!=0) 
              { a[i]=a[i]+1;t=1;     // 余数r!=0时,a[i]增1,t=1
            while(a[i]>9 && i>1) 
         { a[i]=0;
           i--;            // 回溯 
         a[i]=a[i]+1;
         }    
           }
         else t=0;               // 余数r=0时,t=0 
    if(t==0 && i==n)
           { s++;printf("  %d: ",s);
             for(j=1;j<=n;j++)
                    printf("%d",a[j]);
             printf("
    ");
             a[i]=a[i]+1;
           }
    }
      if(s==0) printf(  "  没有找到!
    ");
      else  printf("  共以上%d个解。
    ",s);
     }
      
    
    

    //
    递推探索n位逐位整除数,c542 #include<stdio.h> void main() {int d,g,i,j,k,m,n,r, a[3000][30],b[3000][30]; printf(" 请输入逐位整除数的位数n:"); scanf("%d",&n); g=9; // 递推基础:1位时赋初值 for(j=1;j<=g;j++) a[j][1]=j; for(k=2;k<=n;k++) // 递推位数k从2开始递增 { m=0; for(i=1;i<=g;i++) // 枚举g个n-1位逐位整除数 for(j=0;j<=9;j++) // n位数的个位数字为j { a[i][k]=j; for(r=0,d=1;d<=k;d++) // 检测n位数除n的余数r { r=r*10+a[i][d]; r=r%k; } if(r==0) { m++; for(d=1;d<=k;d++) b[m][d]=a[i][d]; // 满足条件的n位数赋值给b数组 } } g=m; // 递推得g个n位逐位整除数 for(i=1;i<=g;i++) for(d=1;d<=k;d++) a[i][d]=b[i][d]; // g个b数组向a数组赋值,准备下步递推 } if(g>0) // 输出n位的个数及每一个数 { printf(" %d位逐位整除数共%4d个: ",n,g); for(i=1;i<=g;i++) { printf(" %d: ",i); for(d=1;d<=n;d++) printf("%d",a[i][d]); printf(" "); } } else { printf(" 无解! ");return;} }
  • 相关阅读:
    kafka集群搭建
    数据导入 xls --》mysql
    Spark --RDD算子
    Spark集群搭建
    【已解决】 IDEA运行spark程序报错:GC overhead limit exceeded?
    Spring Boot 配置 ---02
    Spring Boot 入门 ---01
    Nginx 推流 拉流 --- 点播直播
    【转】JS内置对象方法
    MapReduce 简单数据统计
  • 原文地址:https://www.cnblogs.com/liao-pxsoftware15/p/7995522.html
Copyright © 2020-2023  润新知