PTA基礎編程題目集6-7 統計某類完全平方數 (函數題)


本題要求實現一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。

函數接口定義:

int IsTheNumber ( const int N );

其中N是用戶傳入的參數。如果N滿足條件,則該函數必須返回1,否則返回0。

裁判測試程序樣例:

#include <stdio.h>
#include <math.h>

int IsTheNumber ( const int N );

int main()
{
    int n1, n2, i, cnt;
    
    scanf("%d %d", &n1, &n2);
    cnt = 0;
    for ( i=n1; i<=n2; i++ ) {
        if ( IsTheNumber(i) )
            cnt++;
    }
    printf("cnt = %d\n", cnt);

    return 0;
}

/* 你的代碼將被嵌在這里 */

輸入樣例:

105 500

輸出樣例:

cnt = 6
 
        
解題思路:
 
        
 
        
 1 int IsTheNumber ( const int N )
 2 {
 3     int x,m;
 4     x=(int)sqrt(N);
 5     m = x*x;
 6     if (m == N)
 7     {
 8         int num[10]={0};
 9         int i;
10         while(m>0)
11         {
12             for(i = 0;i<=9;i++)
13             {
14                 if (m%10 == i)
15                 {
16                     num[i]=num[i]+1;
17                     if (num[i]==2)
18                     {
19                         return 1;
20                     }
21                 }
22             }
23         m=m/10;
24         }
25     }
26     return 0;
27 }
 
        

 

 
        
 
         
         
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM