當前位置:首頁 » 編程軟體 » 完全平方編程

完全平方編程

發布時間: 2022-08-03 22:26:07

㈠ 用C++編程求出一個四位完全平方數,前兩個數字相同,後兩個數字相同。

【解題思路】
一個數若能表示成某個整數的平方的形式,則稱這個數為完全平方數。比如:0,1,4,9,16,25,……。
本題有兩個關鍵點:第一個是找出四位數的完全平方數;第二個是判斷這個完全平方數是不是前兩位相同,並且後兩位也相同。
第一個問題比較簡單,四位數是從1000到9999之間,但是不需要從1000開始一個一個去判斷是否完全平方數,這樣做要檢測9000個,每個數還要看看是不是完全平方數,計算量很大。事實上只需要從32開始到99,逐個取平方就可以得到所有四位數的完全平方數。(因為31的平方是三位數,而100的平方是五位數,所以只需要在32到99的平方數中一個個找下去就可以了)。
第二個問題可以巧妙利用C語言中的取余運算符%和整型變數除法規則來實現。比如要對1234進行上述比較,可以先把1234分成兩截,辦法如下:inta=1234/100;intb=1234%100;因為C語言中整數除法會自動忽略小數部分,所以inta=1234/100的結果就是a=12;而取余運算符是得到余數,所以intb=1234%100的意思就是1234除以100的余數,結果就是b=34,這樣就成功把1234分成12和34兩段,然後再分別判斷a和b個位和十位是否相同就可以了。判斷的方法如下:if(a/10==a%10),因為a/10會得到a的十位數,而a%10會得到a的個位數,所以只要這兩個相等,就說明a的個位和十位相同,因此上題的具體代碼如下:

【程序代碼】
#include<iostream>//控制台操作頭文件

intmain()//主函數
{inti,a,b;//整型變數
printf("前兩位和後兩位分別相同的四位完全平方數有:");
for(i=32;i<100;i++)//通過循環逐個檢測四位數完全平方數
{a=(i*i)/100;//得到完全平方數的前兩位
b=(i*i)%100;//得到完全平方數的後兩位
if(a/10==a%10&&b/10==b%10)//如果前兩位和後兩位分別相同
printf("%d(%d的平方)",i*i,i);}//輸出這個四位數的完全平方數
printf(" ");//換行
system("PAUSE");//屏幕暫停,以便看到顯示結果
return0;}//結束程序

【運行結果】
以上程序在DEVC++中運行通過,運行結果是只有7744這個數符合要求,它是88的平方。具體截圖如下:

㈡ C語言 完全平方數

#include "stdio.h"
#include "math.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);}
getch();
}

㈢ 用C語言編程, 求符合下列條件的四位完全平方數(某個正整數A是另一個正整數B的平方,則稱A為完全平

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
inti,m;
for(i=99;i>31;i--)
if(m=i*i,m/1000+m/10%10==m%10*(m/100%10))
break;
printf("Thisnumberis%d. ",m);
return0;
}

㈣ 編程完全平方數 C++

一種解法是求出所有可能的正整數相乘的數的集合,對集合排序,然後從大到小檢查是否是完全平方數,返回第一個結果。

㈤ 如何編程輸出200以內所有的完全平方數及其個數

#include<stdio.h>
int main(void)
{
int a=0,c,b=0;

while(a*a<200)
{
c=a*a;
printf("%d",c);
printf("\n");
b++;
a++;
}
printf("個數有%d個",b);
getchar();
}
重新想了下 ,你看對不對。應該沒錯了。

㈥ 編程完全平方數 (number.cpp/c/pas)

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<string>
#include<cstring>
#include<queue>
#define rep(i,n) for(i=1;i<=n;i++)
#define ll long long
using namespace std;
const int maxn=5000100;
const int mod=100000007;
bool zs[maxn];
int n;
void mk()
{
scanf("%d",&n);
int i,j;
for(i=2;i<=n/2+1;i++)
{
if(!zs[i])
{
for(j=2; i*j <=n;j++)
zs[i*j]=1;
}
}
}
ll qh(ll v)
{
ll ans=0;
ll x=n;
for(;x;x/=v,ans+=x);
return ans;
}
ll ksm(int a,ll b)
{
ll ans=1,x=a%mod;
for(;b;b/=2,x=(x*x)%mod)
if(b&1)
ans=(ans*x)%mod;

return ans;
}
void solve()
{
ll j,sum,ans=1;
int i;
for(i=2;i<=n/2+1;i++)
{
if(!zs[i])
{
j=0;
sum=qh(i);
if(sum&1) sum--;
if(sum!=0)
j=ksm(i,sum);
if(j!=0)
ans=(ans*j)%mod;
}
}

printf("%I64d\n",ans);
}
int main()
{
//int tim=clock();
freopen("number.in","r",stdin);
freopen("number.out","w",stdout);
mk();
solve();
//printf("%d",clock()-tim);
//printf("%d",qh(2));
}

㈦ 求完全平方數的編程

for循環參數有問題,自加用","分隔,不要用";"

if中的判定用「&&」做與運算,";"不對

以上是語法問題,至於你的邏輯,也很亂啊,稍微等一下,我理理思路

#include<stdio.h>


intiswanshu(intn)
{
inti,j,count;
i=count=0;
j=n;
while(i!=1)
{
i=n/2;
if(n%2!=0)
i++;
if(j%i!=0)
{
return0;
}
if((i%2)!=0&&i>1)
count++;
n=i;
}
if(count>0)
{
return1;
}else{
return0;
}
}

intcheckagain(intn)
{
inti,sum;
sum=0;
for(i=1;i<n;i++)
{
if(n%i==0)
sum=sum+i;
}
if(sum==n){
return1;
}else{
return0;
}
}

printwanshu(intn)
{
inti;
i=0;
printf("%ditsfactorsare",n);
while(i!=1)
{
i=n/2;
if(n%2!=0)
i++;
printf("%d,",i);
n=i;
}
printf(" ");
}

main()
{
inti,n;
while(1)
{
printf("本程序將實現輸出1-n之間的完數,n>=1 現在請輸入n:");
scanf("%d",&n);
printf("你輸入的數是%d ",n);
if(n>=1)
break;
}
for(i=1;i<=n;i++)
{
if(iswanshu(i)==1&&checkagain(i)==1)
printwanshu(i);
}
}
熱點內容
Ftp打開文件是只讀模式 發布:2025-02-09 07:40:55 瀏覽:504
androidlistview點擊事件 發布:2025-02-09 07:25:52 瀏覽:171
targz解壓縮 發布:2025-02-09 06:59:19 瀏覽:311
wpsphp 發布:2025-02-09 06:58:41 瀏覽:961
視易鋒雲系統如何架設輔助伺服器 發布:2025-02-09 06:47:08 瀏覽:770
mysql備份腳本shell 發布:2025-02-09 06:46:33 瀏覽:15
騰訊雲伺服器怎樣調整解析度 發布:2025-02-09 06:46:30 瀏覽:369
php上一個頁面 發布:2025-02-09 06:41:25 瀏覽:489
改裝配置後不想重啟怎麼辦 發布:2025-02-09 06:36:40 瀏覽:446
演算法復雜度定義 發布:2025-02-09 06:30:46 瀏覽:587