zoukankan      html  css  js  c++  java
  • C 寻找0~100的守形数

    #include <stdio.h>
     #include <string.h>
     #include <stdlib.h>
     
     int isShouXing(int num);
     int numLength(int num);
     //寻找守形数
     //守形数的平方低位时该数本身
     //例如25*25=625  625的低位有25
     main(){
         //rintf("%d",numLength(55));//ok
         //printf("--%d",isShouXing(23));//ok
         int i=0;
         for(i=0;i<=100;i++){
             if(isShouXing(i)){
                 printf("%d,",i);
             }
         }
     }
     
     int isShouXing(int num){
         int flag=0;
         int len=numLength(num);
         //printf("len%d  ",len);
         int sq=num*num;
     
         int yes=1;//假设是守形数//关于一堆数判断是不是XX 一般都先假设是
         //逐个扫描 一旦碰到不是 设为false就结束
         //如果先假设不是 逐个扫描 记下符合条件的次数  再判断该次数是否和预计总次数相等
         //这样想就比较复杂了  需要计算多个变量
         //这种思想同样适用于 寻找回文
         int i=0;
     
         //一个数字有几位 那么对于其平方只比较后几位
         //25只有两位  那么其平方625值比较后面两位
         //取个位数字 十位数字 通过%10的方式
         while(i<len){
             if(  sq%10 !=num%10  ){
                 yes=0;
                 break;
             }else{
                 sq/=10;
                 num/=10;
                 i++;
             }
         }
         //printf("i=%d",i);
         return yes;
     }
     
     /**
     计算一个数字有几位  10---2位  356---3位
     */
     int numLength(int num){
         int len=1;
         while((num=num/10)!=0){
             len++;
         }
         return len;
     
     }
  • 相关阅读:
    [资料]PHP中的__autoload
    [转]php 5.3新增的闭包语法介绍function() use() {}
    [资料]PHP中的ReflectionClass
    [资料]PHP中的命名空间
    Mysql Event
    PHP转换成对像
    [转]Win7自带便签怎么恢复内容
    [转]Windows7便笺妙用
    [转]ASP.NET下MVC1.0>2.0>3.0>4.0
    PHP类动态属性问题
  • 原文地址:https://www.cnblogs.com/cart55free99/p/2958944.html
Copyright © 2011-2022 走看看