㈠ c語言求迴文數
任取一個十進制整數,用下面的方法可以求出一個迴文數:
把這個數字的各個位,顛倒前後位置,形成一個新數,再和原數相加,得到的和,就可能是一個迴文數。
如果不是迴文數,就再重復上述的步驟,則最終可得到迴文數。
㈡ 完全平方迴文數
估計范圍,枚舉位數,用暴力搜索出迴文數,再進行 進制轉換 和 完全平方數 的判斷,
㈢ c語言:在100到10000000000中既是完全平方數又是迴文數的數有幾個,輸出它們並統計個數
#include<stdio.h>
intispefsqu(longlongn);
intispal(longlongn);
intmain(void)
{
longlongi,cnt;
for(i=100,cnt=0;i<10000000000;++i)
{
if(ispefsqu(i)&&ispal(i))
{
cnt++;
printf("%lld",i);
}
}
printf(" %lld ",cnt);
return0;
}
intispefsqu(longlongn)
{
longlongi;
for(i=1;i*i<n;++i);
returni*i==n;
}
intispal(longlongn)
{
longlongm,t;
for(t=n,m=0;t;t/=10)
{
m=m*10+t%10;
}
returnm==n;
}
㈣ c語言程序設計編求迴文數的函數
程序如下:
#include"stdio.h"
intmain()
{
intu,m;
intsum=0;
printf("請輸入要判斷的數u=");
scanf("%d",&u);
m=u;
while(m)
{
sum=sum*10+m%10;
m=m/10;
}
if(sum==u)
printf("u是迴文數");
else
printf("u不是迴文數");
printf(" ");
return0;
}
程序運行結果:
假設輸入一迴文數12321
㈤ c語言如何求迴文數
1、首先打開vc6.0,新建一個控制台項目。
㈥ C語言編程:求所有的六位完全平方數也是迴文數(與反序數相同)
#include<stdio.h>
main()
{
inti,j,a,b,c,d,e,f;
for(i=317;i<1000;i++)
{
j=i*i;
a=j/100000;
b=j/10000%10;
c=j/1000%10;
d=j%1000/100;
e=j%100/10;
f=j%10;
if(a==f&&b==e&&c==d)printf("%4d%4d ",i,j);
}
}
㈦ C語言平方迴文數過程求詳細解答
b=0作用是給b賦初值,應該放在while循環外否則會出錯
10*b+a%10的作用是逐個取a的末位然後拼接到b的一串數字後面
㈧ C語言求迴文數
#include <stdio.h>
int func(int n)
{
int t;
for(t=0;n;n/=10)
t=t*10+n%10;
return t;
}
int main()
{
int i;
for(i=200;i<=3000;++i)
if(func(i)==i)
printf("%d ",i);
return 0;
}
㈨ 用C編迴文數
第二種解法:k%10讀出個位,然後k/=10將十位移動到個位,接著將s的個位移動到十位,在讀出個位。。。。總之就是將輸入的數反序讀出,再判斷是否與原數相等。即判斷該數是否對稱。
不過我記得迴文數必須是完全平方數,該調用函數並沒有體現。
下面是我以前編的一個求迴文數的程序,不過要求有些不同,它能求出3位和5位的迴文數。
#include "stdio.h"
void main()
{ long i,j,k,a,b;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
{a=100*i+10*j+i;
b=sqrt(a);
if(a==b*b)
printf("%d\n",a);}
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
{a=10000*i+1000*j+100*k+10*j+i;
b=sqrt(a);
if(a==b*b)
printf("%ld\n",a);}
}