4-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

程序代码:*

方法一:

int IsTheNumber ( const int  N )
{
   int i,k=1,m=1,temp;
   int a[100]={0};
   int b[10]={0};
   temp=N;
 while(temp/10>0) {
      k+=1;
      temp = temp/10;
   }
if(N==(int)sqrt(N)*(int)sqrt(N))
{
    for(i=0;i<k;i++)
      {
     a[i]=N/m%10;
     m*=10;
     if(b[a[i]]==1)   return 1;
        else              b[a[i]]=1;
        }
     return 0;
     }
  else  return 0;

}

方法二:

int IsTheNumber ( const int N )
{
if(N==(int)sqrt*(int)sqrt(N))
 {  int i;
    int flag[10]={0};
    while(q>0)
    {
    for(i=0;i<10;i++)
      {
       if(q%10==i)
        {
            flag[i]+=1;
          if(flag[i]==2)
              return 1;
        }
      }
      q=q/10;
     }
   return 0;
  }
 return 0;
}

时间: 2024-10-23 06:52:34

4-7 统计某类完全平方数的相关文章

PTA-C-4-7 统计某类完全平方数 (20分)

4-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 ma

PTA-C-4-7 统计某类完全平方数

4-7 统计某类完全平方数   (20分) 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144.676等. 函数接口定义: int IsTheNumber ( const int N ); 其中N是用户传入的参数.如果N满足条件,则该函数必须返回1,否则返回0. 裁判测试程序样例: #include #include... http://bbs.chinaacc.com/forum-2-3/topic-5829463.htmlhttp://bbs

pta 6-7 统计某类完全平方数 (20分)

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

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,

Android流量统计TrafficStats类

对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为 long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计. static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi stati

代码量统计工具类

一:先看运行结果 二:工具类源码 package codeCounter; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Service { public static int[] statistics(File file){ i

Android流量统计TrafficStats类的使用

转自http://gundumw100.iteye.com/blog/1294167 对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提 供的文件对象系统类型的文本进行解析.android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为 long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计. static long getMobileRx

PTA 基础编程题目集 -函数12题

 4-1 简单输出整数   (10分) void PrintN(int N) { int i,sum=0; for(i=1; i<=N; i++) printf("%d\n",i); } 4-2 多项式求值   (15分) double f( int n, double a[], double x ) { int i; double sum; for(i=0; i<=n; i++) { if(i==0) sum+=a[i]; else if(i==1) sum+=a[i

POJ C程序设计进阶 编程题#3: 发票统计

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 有一个小型的报账系统,它有如下功能: (1)统计每个人所报发票的总钱数 (2)统计每类发票的总钱数 将此系统简化为如下:假设发票类别共有A.B.C三种;一共有三个人,ID分别为1.2.3. 输入 系统输入包含三行,每行第一个数为人员ID(整型,1或2或3),第二个数为发票总张数(张数不超过100),之后是多个发票类别(字符型,