當前位置:首頁 » 編程語言 » c語言編程的同構
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程的同構

發布時間: 2022-05-17 18:11:01

Ⅰ 同構數——c語言

pow函數使用有問題。

Math庫里的pow函數的返回類型是一個精度浮點數。

你在isomorphism函數中直接另mod為整型

實際上損失了你後來的pow(10,a)的精度。

就比如說pow(10,2)的返回值是一個99.xxxxxxx的數,然後你直接int了,所以在位數等於2時,你的mod就變成99了。

我們看下面這段代碼:

有疑問請追問叭。

Ⅱ c語言編程 求輸入一個0-99的整數,判斷其是否為同構數,要求寫了程序還要有中文解釋其核心語句的作

思路:同構數是會出現在它的平方的右邊的數。具體見代碼:

#include<stdio.h>
intmain()
{
intn,i,m;
for(i=1;i<100;i++){//依次從1到100遍歷判斷
n=i*i;//求i的平方
if(i<10)m=n%10;//求平方數的後幾位
elsem=n%100;
if(i==m)printf("%d ",i);//判斷是否是同構數
}
return0;
}
/*
運行結果:
1
5
6
25
76
*/

Ⅲ c語言編一個程序,求2~999之間所有的同構數

程序如下:
#include<stdio.h>
void main()
{
int i,square;
for(i=2;i<10;i++)/*求一位數的同構數*/
{square=i*i;
if(square%10==i)
printf("%d ",i);
}
for(i=10;i<100;i++)/*求兩位數的同構數*/
{
square=i*i;
if(square%100==i)
printf("%d ",i);
}
for(i=100;i<1000;i++)/*求三位數的同構數*/
{
square=i*i;
if(square%1000==i)
printf("%d ",i);
}

Ⅳ C語言編程題:所謂「同構數」是指這樣一個數,它出現在它的平方數的右側,例如5的平方是25,25的平方是

#include<stdio.h>
void main()
{
int m;
int s=0;
for(m=1;m<=1000;m++)
{
if((m*m)%10==m || (m*m)%100==m || (m*m)%1000==m)
{
s+=m;
}
}
printf("%d\n",s);
}

Ⅳ C語言 編寫同構數

//---------------------------------------------------------------------------
#include
<stdio.h>
int
main(void)
{
int
i;
for
(i=1;
i<100;
i++)
if
(i==(i*i)%(i<10?10:100))
printf("%d
",i);
return
0;
}
//---------------------------------------------------------------------------

Ⅵ C語言編程100以內所有的同構數

#include<iostream.h>
#include<iomanip.h>
int main ()
{
int i,j,m,n,x,y,z,k,a;
for(i=1;i<=9;i++)//判斷1-9之間同構數
{
m=i*i;
n=m-i;
if(n%10==0)
cout<<setw(4)<<i;
}
for(j=10;j<=99;j++)//判斷10-99之間同構數
{
x=j*j;
y=x-j;
z=y/10;
if((y%10==0)&&(z%10==0))
cout<<setw(4)<<j;
}
for(k=100;k<=100;k++)//判斷100是否為同構數
{
x=j*j;
y=x-j;
z=y/10;
a=y/100;
if((y%10==0)&&(z%10==0)&&(a%10==0))
cout<<setw(4)<<k;
}
cout<<endl;
return 0;
}
這個演算法麻煩點,比較直觀!

Ⅶ C語言編程 自定義判斷同構數的函數

int fun(int x)
{
int a,b=10,c=0;
a=x;
while(a/10!=0){b*=10;a/=10;} /*判斷x是幾位數*/
a=x*x;
c=(a%b==x)? 1:0;
return c;
}

Ⅷ c語言編程:找出1到1000的全部同構數

#include<stdio.h>
intIsTongGou(inta){//判斷是否同構
intb=a*a;
while(a!=0){
if(b%10!=a%10){
return0;
}else{
b=b/10;
a=a/10;
}
}
return1;
}
intmain(){
for(inti=1;i<1000;i++){
if(IsTongGou(i)){
printf("%d",i);
}
}
printf(" ");
}

Ⅸ c語言:編寫函數判斷x是否同構數

#include

inttgs(intx)

intm1,n,a,b;

m1=x;

n=x*m1;

while(m1)

a=m1%10;

b=n%10;

if(a!=b)break;

m1=m1/10;

n=n/10;

returnm1==0;

intmain()

intx;

scanf("%d", &x);

if(tgs(x))printf("%d是一個同構數",x);

elseprintf("%d不是一個同構數",x);

return0;

}。

(9)c語言編程的同構擴展閱讀

C語言 同構數的演算法

「同構數」是指這樣的整數:它恰好出現在其平方數的右端。

如:376*376=141376。請輸出10000以內的全部「同構數」。

演算法分析:

1.求出1-10000之間每個數的位數(即這個數是幾位數)。設這個數是i.//用for循環實現。

2.再求出每個數的平方值,提取出最右端對應位數的數值出來。//用取模%法實現。

如369是個三個數,它的平方是136161,用取模%法提取出最右三位數字161,即136161%1000=161。

3.最後判斷 i 與右端數 是否相等,相等即為同構數。

Ⅹ 用c語言求同構數

找出1至10000之間的全部同構數的C語言程序
例如:5是25右邊的數,25是625右邊的數,5和25都是同構數數*/
#include<stdio.h>
int main()
{ long i,j,k;
k=10;
for (i=1;i<=10000;i++){
if (i==k) k*=10;
j=i*i;
if(j%k==i) printf("%ld\t%ld\n",i,j);
}
}