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
结尾无空行
要点分析
1.const int N就代表了在整个代码中N的值不能进行任何的改变,所以在一开始就将N赋值给n;
2.代码中要完成对两个条件的判断:第一个条件是这个数是完全平方数,第二个条件是这个数中至少有两个数字是相等的。由于第一个条件较为简单,就先判断第一个,再判断第二个;
3.判断第一个条件:运用sqrt或者pow函数计算出这个数的开方值k(这里要注意观察裁判测试程序中是否有相应的头文件math.h,若没有,则要换一种方法,即利用一个for循环来判断),利用k*k是否等于输入的这个数作为条件来判断是不是完全平方数;
4.判断第二个条件:新建一个长度为10的数组a[n],再用一个while循环将0~9这些数字存储在数组中,下面再通过每个数字的数量来判断第二个条件。
代码如下
int IsTheNumber ( const int N )
{int k,p,n=N,i,flat=0;int a[10]={0};k=sqrt(N);if(k*k!=N){return 0;}else{while(n){p=n%10;a[p]++;n/=10;}for(i=0;i<10;i++){if(a[i]>=2){flat=1;}}if(flat) return 1;else return 0;}}
6-7 统计某类完全平方数 (20 分)相关推荐
- 基础编程题目集 6-7 统计某类完全平方数 (20 分)
问题描述: 解题思路: 判断是否是完全平方数只需要判断 (int)sqrt(N) == sqrt(N) 判断是否有两个相同的数字,利用while每次取余,将个位上的数字进行记录, 用长度为10的一维数 ...
- c语言-统计某类完全平方数
6-7 统计某类完全平方数 (20 分) 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144.676等. 函数接口定义: int IsTheNumbe ...
- PTA 基础编程题目集 6-7 统计某类完全平方数 C语言
PTA 基础编程题目集 6-7 统计某类完全平方数 C语言 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144.676等. 函数接口定义: int I ...
- C++学习之路 | PTA乙级—— 1038 统计同成绩学生 (20 分)(精简)
1038 统计同成绩学生 (20 分) 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 10 5 的正整数 N,即学生总人数.随后一 ...
- 【PAT乙】1038 统计同成绩学生 (20分) 裸桶排序
problem 1038 统计同成绩学生 (20分) 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 10 5 的正整数 N,即学生 ...
- 实验4-1-5 统计素数并求和 (20 分)
实验4-1-5 统计素数并求和 (20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输 ...
- C# 7-5 公民类Citizen (20 分)
C# 初学者题目 7-5 公民类Citizen (20 分) ###1. 定义并实现一个公民类Citizen 类的成员包括: 字段:id(string).name(string),age(int),g ...
- 7-6 统计素数并求和 (20分)_托福、SAT最新考试报告:中国学生托福平均分81分;...
托福和SAT考试两项绝大部分同学留学路上绕不过去的考试.日前这两项考试各自发布了2019年考试报告.全世界有多少人在参加这些考试?平均分是多少?你的成绩在全球排在什么位置上?最新报告都给出了解读. 首 ...
- 习题9-6 按等级统计学生成绩(20 分)
本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数. 函数接口定义: int set_grade( struct student *p, int n ); 其中p是指向学生信息的结构体 ...
最新文章
- linux 补丁脚本,Linux上打patch补丁包脚本全解
- 推荐一个AutoCad查看器——Free DWG Viewer试用
- INFO:安装包文件共享(Shared Files)设置注意事项
- C#趣味程序---百鸡百钱
- JAVA设计模式 - 工厂方法模式
- Oracle表的修改和删除以及回收站操作
- ES6入门---变量的解构赋值
- 基于udp的协议netty课设题目_Netty UDP示例
- 音乐直链php,【原创】百度音乐直链 + 实现方法
- 基于贝叶斯决策理论的分类方法
- Google Code Jam
- html word 分页
- 格式工厂 vtt字幕 加入视频
- 小龙女的真面目和杨过跳崖真相--其实不想走!
- 南理工硕士论文latex模板
- 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合
- Android 监听屏幕唤醒和关闭的广播
- ubuntu如何杀进程_Ubuntu下各种结束进程的方法
- 成员变量、类变量和静态变量三者的区别
- 自我和对自我与他人关系的思考