亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        C++回文數的形成

        字號:

        回文數的形成規(guī)則不知道數學上有沒有證明。如果有的話,朋友可以告訴我,這里通過編程驗證。
            規(guī)則:任意的一個的十進制的整數,將其轉過來后和原來的整數相加,得到新的整數后重復以上步驟,最終可以得到一個回文數。
            #include
            #define MAX 2147483648 //限制M+N的范圍
            long re(long int a)//求輸入整數的反序
            {
            long int t;
            for(t=0;a>0;a/=10)//將整數反序
            t=t*10+a%10;
            return t;
            }
            int nonre(long int s)//判斷給定的整數是否為回文數
            {
            if(re(s)==s)
            return 1;//是返回1
            else
            return 0;//不是返回0
            }
            void main()
            {
            long int n,m;
            int count=0;
            printf("please input a number optionaly:");
            scanf("%ld",&n);
            printf("The genetation process of palindrome:\n");
            while(!nonre((m=re(n))+n))//判斷整數與其反序相加后是否為回文數
            {
            if((m+n)>=MAX)//超過界限輸出提示信息
            {
            printf("input error,break.\n");
            break;
            }
            else
            {
            printf("[%d]:%ld+%ld=%ld\n",++count,n,m,m+n);
            n+=m;//累加
            }
            }
            printf("[%d]:%d+%ld=%ld\n",++count,n,m+n);
            printf("Here we reached the aim at last.\n");//輸出得到的回文數
            }