6-1 判断奇偶性 分数 10
本题要求实现判断给定整数奇偶性的函数。
函数接口定义:
int even( int n );
其中n
是用户传入的整型参数。当n
为偶数时,函数返回1;n
为奇数时返回0。注意:0是偶数。
裁判测试程序样例:
#include <stdio.h>
int even( int n );
int main()
{
int n;
scanf("%d", &n);
if (even(n))
printf("%d is even.\n", n);
else
printf("%d is odd.\n", n);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例1:
-6
输出样例1:
-6 is even.
输入样例2:
5
输出样例2:
5 is odd.
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
int even(int n){
if(n%2)return 0;
return 1;
}
6-2 找两个数中最大者 分数 10
本题要求对两个整数a和b,输出其中较大的数。
函数接口定义:
int max( int a, int b );
其中a
和b
是用户传入的参数,函数返回的是两者中较大的数。
裁判测试程序样例:
#include <stdio.h>
int max( int a, int b );
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("max = %d\n", max(a, b));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
-5 8
输出样例:
max = 8
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
int max(int a, int b){return a>b?a:b;}
6-3 求m到n之和 分数 10
本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数。
函数接口定义:
int sum( int m, int n );
其中m
和n
是用户传入的参数,保证有m<n。函数返回的是m~n之间所有整数的和。
裁判测试程序样例:
#include <stdio.h>
int sum(int m, int n);
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("sum = %d\n", sum(m, n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
-5 8
输出样例:
sum = 21
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
int sum(int m, int n){
if(m==n)return m;
return m+sum(m+1,n);
}
6-4 简单实现x的n次方 分数 10
本题要求实现一个计算xn(n≥0)的函数。
函数接口定义:
double mypow( double x, int n );
函数mypow
应返回x
的n
次幂的值。题目保证结果在双精度范围内。
裁判测试程序样例:
#include <stdio.h>
double mypow( double x, int n );
int main()
{
double x;
int n;
scanf("%lf %d", &x, &n);
printf("%f\n", mypow(x, n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
0.24 4
输出样例:
0.003318
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
double mypow(double x, int n){
if(n==1) return x;
else if(n==0)return 1;
return x*mypow(x, n-1);
}
6-5 使用函数求最大公约数 分数 20
本题要求实现一个计算两个数的最大公约数的简单函数。
函数接口定义:
int gcd( int x, int y );
其中x
和y
是两个正整数,函数gcd
应返回这两个数的最大公约数。
裁判测试程序样例:
#include <stdio.h>
int gcd( int x, int y );
int main()
{
int x, y;
scanf("%d %d", &x, &y);
printf("%d\n", gcd(x, y));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
32 72
输出样例:
8
感谢集美大学蓝华斌同学修正测试数据!
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
int gcd(int x, int y){
if(y==0) return x;
return gcd(y, x%y);
}
6-6 判断满足条件的三位数 分数 20
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如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
#include<math.h>
int search(int n){
int r=0,i, A[3];
for(i=101;i<=n;i++){
A[0]=i/100;A[1]=i/10%10;A[2]=i%10;;
if((int)sqrt(i)*(int)sqrt(i)==i&&(A[0]==A[1]||A[0]==A[2]||A[1]==A[2]))
r++;
}
return r;
}
7-1 判断素数 分数 20
本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数N
(≤ 10),随后N
行,每行给出一个小于231的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes
,否则输出No
。
输入样例:
2
11
111
输出样例:
Yes
No
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
void Prime(unsigned N){
int r=1;
for(unsigned i=2;i*i<=N;i++)
if(N%i==0){
r=0;
break;
}
if(!r||N==1)puts("No");
else puts("Yes");
}
int main(){
unsigned N;
scanf("%*d");
while(scanf("%u", &N)!=EOF)
Prime(N);
return 0;
}