1. 程式人生 > >pat6-7統計某類完全平方數

pat6-7統計某類完全平方數

*6-7 統計某類完全平方數(20 分)
本題要求實現一個函式,判斷任一給定整數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

程式一:
#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;
}

int IsTheNumber ( const int N )
{
    int n = (int)sqrt(N*1.0);
    int m = n * n;
    if(m == N)
    {
        int a[10]={0};
        while (m > 0)
        {
            int i = m % 10;
            a[i]++;
            if (a[i]==2) return 1;
            m /=10;
        }
    }
    return 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;
}
 
int IsTheNumber ( const int N )
{
    int n,m;
    n=(int)sqrt(N);
    m=n*n;
    if(m==N)
    {
        int num[10]={0};
        int i;
        while(m>0)
        {
            for(i=0;i<=9;i++)
            {
                if(m%10==i)
                {
                    num[i]+=1; 
                    if(num[i]==2)
                    {
                        return 1;
                    }
                } 
            }
            m=m/10;
        }
        return 0;
    }
    return 0;
}

相關推薦

pat6-7統計完全平方

*6-7 統計某類完全平方數(20 分) 本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義:int IsTheNumber ( const int N ); 其中N是使用者傳入的引數。如果N滿足條件

基礎程式設計題目集:6-7 統計完全平方(20 分)

int IsTheNumber(const int N) { int n = sqrt(N); int k = 0, tmp = N; int a[5] = { 0 }; //判斷是否是完全平方數 if (n*n == N) { //先N轉陣列 //判斷有多少位 while (

PAT基礎程式設計題目集——6-7 統計完全平方

原題目: 本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義: int IsTheNumber ( const int N ); 其中N是使用者傳入的引數。如果N滿足條件,則該函式必須返回1,否則返回0

PTA_基礎程式設計題目集_6-7 統計完全平方 (20 分)

題目地址 我的程式碼 int IsTheNumber(const int N) { int n = N, tn, jud = 0, mark = 0; tn = (int)(sqrt((double)(n))); //利用非完全平方整數,開方存在小數;double強行轉

4-7 統計完全平方 (20分)

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

6-7 統計完全平方(20 分)

本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義: int IsTheNumber ( const int N ); 其中N是使用者傳入的引數。如果N滿足條件,則該函式必須返回1,否則返回0

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

int IsTheNumber ( const int N ) {   int r=sqrt(N);   int n=N;   int a[10]={};   if(r*r==N){     int d;     while(n){       d=n%10;      

PAT-4-7 統計完全平方 (20分)

4-7 統計某類完全平方數   (20分) 本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義: int IsTheN

(函式題)4-7 統計完全平方

本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義: int IsTheNumber ( const int N ); 其中N是使用者傳入的引數。如果N滿足條件,則該函式必須返回1,否則返回0。 裁判測試程式樣例: #incl

PAT基礎題 4-7 統計完全平方

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

poj1730 - Perfect Pth Powers(完全平方)(水題)

ostream splay -- size 技術 () isp close for /* 以前做的一道水題,再做精度控制又出了錯///。。。 */ 題目大意: 求最大完全平方數,一個數b(不超過int範圍),n=b^p,使得給定n,p最大; 題目給你一個數n,求p ; 解題

bzoj 2440 完全平方

int close amp bsp play 莫比烏斯函數 題意 images ... 這是一道論文題。 題意:選出第k個無平方因子的數。 思路:二分答案。 某一個區間的無平方因子的數的個數怎麽求呢? 可以篩。 這裏可以莫比烏斯。 首先什麽是莫比烏斯函數呢?

[COGS 2524]__完全平方

ace std printf 表示 return false sam blog sta Description 一個數如果是另一個整數的完全平方,那麽我們就稱這個數為完全平方數(Pefect Sqaure),也稱平方數。小A認為所有的平方數都是很perfect的~ 於是

2440: [中山市選2011]完全平方

bre 二分枚舉 告訴 esp can pre amp font rim 怎麽感覺一直在做市選的說。。搞得在中山的我都沒信心了。。。 好吧做這題主要是沖著莫比烏斯反演去的,然後實際上也是容斥原理的應用,跟反演沒什麽關系,但是莫比烏斯函數的一個應用。 首先將題目詢問第k個

BZOJ 2440: [中山市選2011]完全平方

clas -- 二分答案 target geo har return log gist 二次聯通門 : BZOJ 2440: [中山市選2011]完全平方數 /* BZOJ 2440: [中山市選2011]完全平方數 二分答案+莫比烏

【BZOJ】2440: [中山市選2011]完全平方

無平方因子數 style aps 就是 lld spa col names play 【題意】T次詢問第k小的非完全平方數倍數的數。T<=50,k<=10^9。(即無平方因子數——素因數指數皆為0或1的數) 【算法】數論(莫比烏斯函數) 【題解】考慮二分,轉化為

BZOJ2440: [中山市選2011]完全平方

problem pil make tdi lin push_back init esp Language 容斥原理,發現正好可以用上莫比烏斯函數 1 /***********************************************************

現有n堆球,其中n是偶數,第i堆中有 ai 個球。現需要將其中 n / 2 堆中的球全變成完 全平方,另外的 n / 2 全不為完全平方

bcd dba amp com http abc 一行 增加 完全平方數 【問題描述】現有n堆球,其中n是偶數,第i堆中有 ai 個球。現需要將其中 n / 2 堆中的球數全變成完全平方數,另外的 n / 2 全不為完全平方數。你每一次操作可以選擇任意一堆增加或拿走(前提不

求一個完全平方

clas import range 取出 完全 pre 個數 思路分析 邏輯 1 ‘‘‘ 2 簡述:一個整數,它加上100和加上268後都是一個完全平方數 提問:請問該數是多少? 3 Python解題思路分析: 4 在10000以內判斷(通過數學邏輯猜測)

279、完全平方

描述 參考 http 技術 完全 bsp In grand logs 題目描述: 參考:https://www.cnblogs.com/grandyang/p/4800552.html 279、完全平方數