PAT练习基础编程题目之多项式求值

PAT基础编程题目集4—8:简单阶乘运算
本题要求实现一个计算非负整数阶乘的简单函数。
函数接口定义:
int Factorial( const int N );
其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。
裁判测试程序样例:
int Factorial( const int N );
int main()
int N, NF;
scanf("%d", &N);
NF = Factorial(N);
printf("%d! = %d\n", N, NF);
else printf("Invalid input\n");
输入样例:
输出样例:
题目不难,只是需要注意输入负数的可能,做题前看清题目很重要。怎么有种做高考题的感觉
int Factorial( const int N );
int main()
& & int N, NF;
& & scanf("%d",
& & NF = Factorial(N);
& & if (NF)
&printf("%d! = %d\n", N, NF);
& & else printf("Invalid
input\n");
& & return 0;
int Factorial( const int N )
int fac = 1;
if ( N & 0 ) {
for ( int i = 1; i &= N; i ++ ) {
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。c++复习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
上传于|0|0|文档简介
&&c++复习题
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩11页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢PAT基础编程题目集4—7:统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
裁判测试程序样例:
int IsTheNumber ( const int N );
int main()
int n1, n2, i,
scanf("%d %d", &n1, &n2);
for ( i=n1; i&=n2; i++ ) {
if ( IsTheNumber(i) )
printf("cnt = %d\n", cnt);
输入样例:
输出样例:
这道题目有一定的难度,主要体现在两点,一是完全平方数的判别,二是如何确定某数内有两个相同数字。
利用的sqrt和pow函数的特性,即非完全平方数经sqrt开方后将存在小数损失,这时再用pow平方,可以直接与原始数比较,一行代码即可解决判别问题;
对于第二个问题,难点在于使用两层循环解决全排列问题,如判断123,需要让1和2,3比较,2和3比较,即每个都要与另外所有的元素比较。可以使用sprintf将数字直接拷进数组,然后使用循环,这是双层循环的经典案例
int IsTheNumber ( const int N );
int main()
& & int n1, n2, i,
& & scanf("%d %d", &n1,
& & cnt = 0;
& & for ( i=n1; i&=n2;
& if ( IsTheNumber(i) )
& & printf("cnt = %d\n",
& & return 0;
int IsTheNumber ( const int N )
int flag = 0;
char b[10];
sprintf(b, "%d", N);
int len = strlen(b);
for ( int i = 0; i & i ++ ) {
for ( int j = i + 1; j & j ++ ) {
if ( b[i] == b[j] ) {
if ( N == (int)pow((int)sqrt(N), 2) ) {
flag = 1;&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。北京理工大学数据结构编程练习答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
北京理工大学数据结构编程练习答案
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩92页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

 

随机推荐