目录
实现语言:C
编译器:gcc
题目链接:
题目详情 - 6-17 判断满足条件的三位数 (pintia.cn)
题目:
2022-高级语言程序设计练习——函数
6-17 判断满足条件的三位数
分数 15
作者 张高燕
单位 浙大城市学院
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。
函数接口定义:
int search( int n );
其中传入的参数int n
是一个三位数的正整数(最高位数字非0)。函数search
返回[101, n
]区间内所有满足条件的数的个数。
裁判测试程序样例:
#include <stdio.h>
#include <math.h>
int search( int n );
int main()
{
int number;
scanf("%d",&number);
printf("count=%d\n",search(number));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
500
输出样例:
count=6
代码长度限制16 KB
时间限制400 ms
内存限制64 MB
AC代码:
int search(int n)
{
int count = 0;
for (int i = 101; i <= n; i++)
{
int t = i;
for (int j = 1; t > 0; j = j + 2)
{
t = t - j;
}
// 每一个完全平方数都可以写成1 + 3 + 5 +...+ 2 * m - 1的形式(等差数列求和结果为m^2)
if (t == 0)
{
int a, b, c;
c = i % 10;
b = (i / 10) % 10;
a = i / 100;
if (a == b || a == c || b == c)
{
count++;
}
}
}
return count;
}
提交正确截图: