浙大版C语言题目集-函数题6

6-3

给定两个均不超过9的正整数a和n,要求编写函数求a+aa+aaa++⋯+aa⋯a(n个a)之和。

其中函数fn须返回的是na组成的数字;SumA返回要求的和。

#include <stdio.h>int fn( int a, int n );
int SumA( int a, int n );int main()
{int a, n;scanf("%d %d", &a, &n);printf("fn(%d, %d) = %d\n", a, n, fn(a,n));        printf("s = %d\n", SumA(a,n));    return 0;
}int fn( int a, int n ){int i,s=0;for(i=0;i<n;i++){s=s*10+a;}return s;	
}
int SumA( int a, int n ){int i,s=0,j=0;for(i=0;i<n;i++){s=s*10+a;j+=s;}return j;
}

6-6

本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。

其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=p+q”输出n的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如24可以分解为5+19,还可以分解为7+17),要求必须输出所有解中p最小的解。

题目要求:先判断m是否为素数,再计算[m,n]中所有偶数=p+q两个奇素数之和,输出p最小的解

//先判断m是否为素数,再计算[m,n]中所有偶数=p+q两个奇素数之和,输出p最小的解 
#include <stdio.h>int prime( int p );
void Goldbach( int n );int main()
{int m, n, i, cnt;scanf("%d %d", &m, &n);if ( prime(m) != 0 ) printf("%d is a prime number\n", m);if ( m < 6 ) m = 6;if ( m%2 ) m++;cnt = 0;for( i=m; i<=n; i+=2 ) {Goldbach(i);cnt++;if ( cnt%5 ) printf(", ");else printf("\n");}return 0;
}int prime( int p ){int flag=1,i;if(p<2){flag=0;}else if(p==2){flag=1;} for(i=2;i<p;i++){if(p%i==0) {flag=0;break;}}return flag;
}
void Goldbach( int n ){int p,q,i,flag=1;for(p=3;p<n;p++){if(prime(p)) {q=n-p;if(prime(q)) {printf("%d=%d+%d",n,p,q);break; }}} 
}

6-7

本题要求实现一个求整数的逆序数的简单函数。

#include <stdio.h>int reverse( int number );int main()
{int n;scanf("%d", &n);printf("%d\n", reverse(n));return 0;
}int reverse( int number ){int a=0;while(number!=0){a=a*10+number%10;number/=10;}return a;
}

6-8

本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。

其中函数factorsum须返回int number的因子和;函数PrintPN要逐行输出给定范围[mn]内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。如果给定区间内没有完数,则输出一行“No perfect number”。

#include <stdio.h>int factorsum( int number );
void PrintPN( int m, int n );int main()
{int m, n;scanf("%d %d", &m, &n);if ( factorsum(m) == m ) printf("%d is a perfect number\n", m);if ( factorsum(n) == n ) printf("%d is a perfect number\n", n);PrintPN(m, n);return 0;
}int factorsum( int number ){int i,s=0;for(i=1;i<number;i++){if(number%i==0){s+=i;}}return s;
}
void PrintPN( int m, int n ){int a[10000],i,j,s,k=0;for(;m<=n;m++){s=0,j=0;for(i=1;i<m;i++){if(m%i==0){s+=i;a[j]=i;j++;}}if(m==s){printf("%d = ",m);printf("%d",a[0]);for(i=1;i<j;i++){printf(" + %d",a[i]);}printf("\n");k++;}}if(k==0) printf("No perfect number");
}

6-9

本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。

其中函数fib须返回第n项Fibonacci数;函数PrintFN要在一行中输出给定范围[mn]内的所有Fibonacci数,相邻数字间有一个空格,行末不得有多余空格。如果给定区间内没有Fibonacci数,则输出一行“No Fibonacci number”。

#include <stdio.h>int fib( int n );
void PrintFN( int m, int n );int main()
{int m, n, t;scanf("%d %d %d", &m, &n, &t);printf("fib(%d) = %d\n", t, fib(t));PrintFN(m, n);return 0;
}int fib( int n ){int s[n],i=2;s[0]=1;s[1]=1;if(n>=3){do{	s[i]=s[i-1]+s[i-2];i++;}while (i!=n);}return s[n-1];
}void PrintFN( int m, int n ){int s[10000],i=2,j=0,k=0;s[0]=1;s[1]=1;do{	s[i]=s[i-1]+s[i-2];i++;j++;}while (s[i-1]<10000);for(i=0;i<j;i++){if(s[i]>=m && s[i]<=n) {printf("%d ",s[i]);k++;}}if(k==0) printf("No Fibonacci number");
}

6-11

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。

函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。

函数PrintN则打印开区间(mn)内所有的水仙花数,每个数字占一行。题目保证100≤mn≤10000。

#include <stdio.h>
#include <math.h>int narcissistic( int number );
void PrintN( int m, int n );int main()
{int m, n;scanf("%d %d", &m, &n);if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);PrintN(m, n);if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);return 0;
}int narcissistic( int number ){int n=number,a[10],i=0,s=0,j,flag=0;while(number%10!=0 || number/10!=0){a[i]=number%10;i++;number/=10;}for(j=0;j<i;j++){s+=pow(a[j],i);}if(n==s) flag=1;return flag;
}void PrintN( int m, int n ){for(m+=1;m<n;m++){if(narcissistic(m)) printf("%d\n",m);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法:两数之和

算法&#xff1a;两数之和 方法一&#xff1a;暴力法 function twoSum(nums, target) {for (let i 0; i < nums.length; i) {for (let j i 1; j < nums.length; j) {if (nums[i] nums[j] target) {return [i, j];}}}return null; }方法二&#xff1a;哈希表 func…

BLHeli_S 代码分析—文件 AIKON_Boltlite_30A.inc 分析

BLHeli_S 代码分析—文件 AIKON_Boltlite_30A.inc 分析 简介 根据源代码分析,改文件是配置的 c8051f390 的 MCU。根据该文件的代码配置可以了解到该型号电调的电路连接。包括引导加载程序端口、控制信号(PPM)获取端口、mos管控制端口、比较器反电势端口、调试端口配置。 引导…

【npm】常见错误

1.安装模块错误 错误内容 npm ERR! code EPERM npm ERR! syscall mkdir npm ERR! path E:\Program Files\nodejs\node_modules\live-server npm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, mkdir E:\Program Files\nodejs\node_modules\live-server n…

道可云元宇宙每日资讯|上海市第二批元宇宙重大应用场景张榜

道可云元宇宙每日简报&#xff08;2024年2月18日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 上海市第二批元宇宙重大应用场景张榜 根据《上海市培育“元宇宙”新赛道行动方案》&#xff0c;市经济信息化委、市文化旅游局、市卫生健康委、市教委联合启动了上海…

【Unity】【VRTK】【VR开发】同时保持高效打包和调试的VRTK项目设置方式

【背景】 开发功能时希望能够快速调试&#xff0c;在Preview和开发编辑器间流畅切换。后期又希望快速打包到目标安卓平台&#xff0c;感受头盔内部的画面和操作效果。麻烦在于&#xff0c;这两者往往不是明确区分的&#xff0c;很可能一会儿只是想快速验证一下某些功能动作&am…

二进制搭建 Kubernetes

实验流程 k8s集群master01&#xff1a;192.168.75.10 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02&#xff1a;192.168.80.20 k8s集群node01&#xff1a;192.168.75.20 kubelet kube-proxy docker k8s集群node02&#xff1a;192.168.…

Out of memory,realloc failed

git config --global http.postBuffer 1048576000

【软考】软件维护

目录 一、说明二、正确性维护三、适应性维护四、完善性维护五、预防性维护 一、说明 1.软件维护主要是根据需求变化或硬件环境的变化对应用程序进行部分或全部修改 2.修改时应充分利用源程序&#xff0c;修改后要填写程序修改登记表&#xff0c;并在程度变更通知书上写明新旧程…

【Elasticsearch专栏 03】深入探索:Elasticsearch的倒排索引是如何提高搜索效率的?

文章目录 倒排索引是如何提高搜索效率的&#xff1f;01 倒排索引的工作原理02 倒排索引如何提高搜索效率03 小结 倒排索引是如何提高搜索效率的&#xff1f; 倒排索引之所以能够提高搜索效率&#xff0c;关键在于其独特的构建方式和数据结构设计。下面&#xff0c;我将对倒排索…

多线程相关(2)

线程池 构造函数处理过程拒绝策略JDK 内置的拒绝策略 Executors类实现线程池线程池大小设置 通过复用已创建的线程&#xff0c;降低资源损耗、线程可以直接处理队列中的任务加快响应速度、同时便于统一监控和管理。 构造函数 /*** 线程池构造函数7大参数*/ public ThreadPoolE…

三角形个数

萌萌已经有2根长度为a和b的棍子&#xff0c;她想再找一根棍子组成一个三角形。在杂物间里&#xff0c;发现了 n 根棍子&#xff0c;长短不一&#xff0c;她想知道有几根棍子是可以取来和原来的2根组成三角形。 输入格式 第一行3个整数a、b和n&#xff0c;a和b的范围在[1,100]&…

前端 Vue启动本地(.exe)文件

首先&#xff0c;启动本地的.exe文件的方式有以下两种: 方式1:通过使用JS打开本地exe文件。但是一般的浏览器&#xff0c;由于安全问题&#xff0c;都会禁止掉这个JS对象&#xff0c;这就导致部分浏览器不支持该种方式。 方式2:利用浏览器外部协议&#xff08;URL Procotol&a…

opencv鼠标操作与响应

//鼠标事件 Point sp(-1, -1); Point ep(-1, -1); Mat temp; static void on_draw(int event, int x, int y, int flags, void *userdata) {Mat image *((Mat*)userdata);if (event EVENT_LBUTTONDOWN) {sp.x x;sp.y y;std::cout << "start point:"<<…

动态住宅IP代理是什么意思,与静态住宅IP代理的区别和比较

动态住宅IP代理是一种不断变化的IP地址解决方案&#xff0c;用于提高在线安全性、绕过地理限制并进行高级数据挖掘。与静态住宅IP代理相比&#xff0c;动态IP提供更高的匿名性和灵活性&#xff0c;但也有其独特的局限性和成本。我们旨在为您提供一个全面的视角&#xff0c;让您…

LocalSend跨设备传输文件传输协议 v2

LocalSend仓库地址&#xff1a;GitHub - localsend/localsend: An open-source cross-platform alternative to AirDrop LocalSend 协议 v2 English | 简体中文 主要为了实现一个不依赖于任何外部服务器的简单 REST 协议。 因为计算机网络比较复杂&#xff0c;因此我们不能假…

开源Excel 处理工具库MyExcel介绍以及简单例子

MyExcel是一个开源的Java库&#xff0c;用于简化Excel文件的处理。它提供了一种简单、高效的方式来读写Excel文件&#xff0c;支持多种格式&#xff0c;包括XLS、XLSX和CSV。MyExcel的设计目标是易于使用&#xff0c;同时提供足够的灵活性来处理复杂的Excel操作。 主要…

【ModelScope】Linux安装

CentOS下g的安装 Centos下的g安装包的名字叫做gcc-c&#xff0c;这是与Centos与Ubuntu不同的地方。安装命令如下&#xff1a; yum install gcc gcc-c pip安装 ModelScope Libarary由核心框架&#xff0c;以及不同领域模型的对接组件组成。如果只需要ModelScope模型和数据集访…

Java实现假日旅社管理系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统介绍2.2 QA 问答 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿评论4.3 查询民宿新闻4.4 新建民宿预订单4.5 查询我的民宿预订单 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的假日旅社…

uniapp引入微信小程序直播组件

在manifest.json配置即可&#xff0c;与直接在小程序代码中引入相同。 在工程的manifest.json文件中引入直播插件 "mp-weixin" : {/* 小程序特有相关 */"usingComponents" : true,"appid" : "xxx","plugins": {"live…

3.Swift导航栏的使用

Swift 导航栏的使用 一、基本使用 1.1 创建导航栏 在AppDelegate 如下方法中添加创建导航栏的代码&#xff1a; func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { …