C语言实现的统计素数并求和代码分享
题目来源于PAT平台,此题又是费了一番脑子。题目要求输出给定区间内的素数个数并对他们求和。具体思路是利用循环判断素数,将结果传递给控制变量,由控制变量再来判断是否执行自增以及求和。当然这里必须要注意1既不是素数也不是合数。
下面是代码:
#include <stdio.h>
int main ()
{
int a=0,b=0;
int n=0,sum=0;
int x=0,i=0;
scanf("%d %d",&a,&b);
int check=1; //假设为素数
for (x=a;x<=b;x++){
check=1;
for (i=2;i<x;i++){
if (x%i==0){
check=0;
break;
} //该循环用于判定是否为素数,遍历一遍小于x的数,如果有能整除x的即给变量赋值为0,并直接跳出循环
}
if (check != 0 && x!=1){
n++;
sum+=x;
} //该if用于判断之前循环传递的check值,并且加入x是否为1的判断
}
printf("%d %d",n,sum);
return 0;
}
相关推荐
-
C语言求矩阵的各列元素之和的代码示例
问题描述: 统计一个矩阵的各列元素之和.矩阵各元素为整数且绝对值不超过100. 要求输入: 有多个测试用例,每个测试用例的第一行是空格分隔的两个正整数n和m( 1 < n, m < 80 ),接下来的n行每行有m个空格分隔的整数,组成一个n*m的矩阵.最后一个测试用例n=0 m=0不用处理. 要求输出: 对每个测试用例,输出一行整数(空格分隔),顺序表示从第1列至第m列的各列元素之和. 输入示例: 3 5 1 1 1 2 -1 0 1 0 7 4 0 2 0 -8 -4 2 2 1 1 0 1
-
C语言解决螺旋矩阵算法问题的代码示例
赶集网校招就采用了螺旋输出矩阵作为程序题,要求将矩阵螺旋输出如: 图中6*6矩阵线条所示为输出顺序,如果输出正确的话应该输出1~36有序数字. 我想的是这么做的: #include <stdio.h> //#define LEN 1 //#define LEN 2 //#define LEN 3 #define LEN 4 void printClock(int a[][LEN]){//输出函数 int t; int i = 0, m = 0; int j = LEN, n = LEN; w
-
C语言科学计算入门之矩阵乘法的相关计算
1.矩阵相乘 矩阵相乘应满足的条件: (1) 矩阵A的列数必须等于矩阵B的行数,矩阵A与矩阵B才能相乘: (2) 矩阵C的行数等于矩阵A的行数,矩阵C的列数等于矩阵B的列数: (3) 矩阵C中第i行第j列的元素等于矩阵A的第i行元素与矩阵B的第j列元素对应乘积之和,即 如: 则: 2. 常用矩阵相乘算法 用A的第i行分别和B的第j列的各个元素相乘求和,求得C的第i行j列的元素,这种算法中,B的访问是按列进行访问的,代码如下: void arymul(int a[4][5], int b[
-
C语言实现的统计素数并求和代码分享
题目来源于PAT平台,此题又是费了一番脑子.题目要求输出给定区间内的素数个数并对他们求和.具体思路是利用循环判断素数,将结果传递给控制变量,由控制变量再来判断是否执行自增以及求和.当然这里必须要注意1既不是素数也不是合数. 下面是代码: 复制代码 代码如下: #include <stdio.h> int main () { int a=0,b=0; int n=0,sum=0; int x=0,i=0; scanf("%d %d",&a,&b);
-
Java语言实现二叉堆的打印代码分享
二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树).二叉堆有两种:最大堆和最小堆.最大堆:父结点的键值总是大于或等于任何一个子节点的键值:最小堆:父结点的键值总是小于或等于任何一个子节点的键值. 打印二叉堆:利用层级关系 我这里是先将堆排序,然后在sort里执行了打印堆的方法printAsTree() public class MaxHeap<T extends Comparable<? super T>> { private T[] data; pr
-
C语言实现简易通讯录(静态版本)的代码分享
目录 一.通讯录 1.演示效果 2.完整代码 二.代码解析 1.宏定义及结构体声明 2.主菜单函数 3.主函数 4.查找函数 5.初始化联系人信息 6.添加联系人信息 7.显示所有联系人信息 8.删除指定联系人信息 9.修改联系人信息 10.查找指定联系人 11.按照姓氏对联系人信息排序 12.清空所有联系人信息 一.通讯录 1.演示效果 2.完整代码 #define _CRT_SECURE_NO_WARNINGS 1 //#include "ConTacts.h" #include
-
C语言实现C++继承和多态的代码分享
这个问题主要考察的是C和C++的区别,以及C++中继承和多态的概念. C和C++的区别 C语言是面向过程的语言,而C++是面向对象的过程. 什么是面向对象和面向过程? 面向过程就是分析解决问题的步骤,然后用函数把这些步骤一步一步的进行实现,在使用的时候进行一一调用就行了,注重的是对于过程的分析.面向对象则是把构成问题的事进行分成各个对象,建立对象的目的也不仅仅是完成这一个个步骤,而是描述各个问题在解决的过程中所发生的行为. 面向对象和面向过程的区别? 面向过程的设计方法采用函数来描述数据的操作,
-
c语言统计素数之和的实例
目录 c语言统计素数之和 c语言打印100以内素数(开根号法) 总结 c语言统计素数之和 #include<stdio.h> int main() { int m, n; printf("您想求哪两个数之间的素数之和,请依次输入它们:"); scanf_s("%d %d", &m, &n); int i; int cnt = 0; int sum = 0; if (m==1) { m = 2; } for ( i = m; i <=
-
jQuery easyUI datagrid 增加求和统计行的实现代码
在datagrid的onLoadSuccess事件增加代码处理. <style type="text/css"> .subtotal { font-weight: bold; }/*合计单元格样式*/ </style> <script type="text/javascript"> function onLoadSuccess() { //添加"合计"列 $('#table').datagrid('append
-
c语言实现词频统计的简单实例
需求: 1.设计一个词频统计软件,统计给定英文文章的单词频率. 2.文章中包含的标点不计入统计. 3.将统计结果以从大到小的排序方式输出. 设计: 1.因为是跨专业0.0···并不会c++和java,只能用仅学过的C语言进行编写,还是挺费劲的. 2.定义一个包含单词和频率两个成员的结构体来统计词频(进行了动态分配内存,可以处理较大文本). 3.使用fopen函数读取指定的文档. 4.使用fgetc函数获取字符,再根据取得的字符是否是字母进行不同的处理. 5.采用快速排序法对统计结果进行排序. 5
-
C语言实现选票统计
用C语言实现选票统计,供大家参考,具体内容如下 要求: 设有N个候选人,10个选举人,每一个选举人只能选一位候选人,最终票数最高的当选为领导人,输出候选人票数和领导人信息. 实现: 1定义结构体数组存储候选人信息. 2循环10次,每次从键盘输入选票姓名,和候选人进行比较,并统计选票. 代码: #include<stdio.h> #include<string.h> #define N 3 struct person{ char name[20]; int count; }leade
-
关于golang利用channel和goroutine完成统计素数的思路
1. 需求 要求统计1-200000的数字中,哪些是素数?这个问题在本章开篇就提出来了,可以使用goroutine和channel来完成 2.分析思路 传统的方法,就是使用一个循环,循环的判断各个数是不是素数[ok] 使用并发/并行的方式,将统计素数的任务分配给多个(x个)goroutine去完成,完成任务时间短 分析思路图: 代码实现: package main import ( "fmt" "time" ) // 需求: // 要求统计1-200000的数字,
-
C语言用递归函数对素数进行判断流程
目录 前言 思路简述 代码实现 前言 本文介绍递归函数实现素数判断. 事实上,递归算法判断素数的本质是试除法,且递归算法在本题中并不具有优势.它不仅没有优化原算法,还增加了空间复杂度与时间复杂度. 时间复杂度和空间复杂度都是0(N),实现效率可想而知. 那为什么还要写呢?仅作为开拓思路.加深对递归函数的理解而为之.其实很多基础的算法,包括斐波那契数列.闰年等,都可以用递归实现.递归思路能将复杂的问题呈现以简单的思路,这是它的优势.通过简单问题的递归实现,大家可以提前熟悉递归的构造和运用,为后续学
随机推荐
- php使用SAE原生Mail类实现各种类型邮件发送的方法
- Flex httpservice返回值类型和处理
- 对于this和$(this)的个人理解
- Java使用continue语句的实例详解
- java去掉html标签 必须首先去掉双引号的正则
- JavaScript时间操作之年月日星期级联操作
- 服务器端解压缩zip的脚本
- MySQL数据库远程连接开启方法
- 通过过滤器(Filter)解决JSP的Post和Request中文乱码问题
- 详解微信小程序开发之下拉刷新 上拉加载
- C#通过yield实现数组全排列的方法
- js操作DOM--添加、删除节点的简单实例
- MySQL 元数据查看及实例代码
- JavaScript检测并限制复选框选中个数的方法
- javascript-简单的计算器实现步骤分解(附图)
- 用rsync实现windows与linux文件同步的方法
- JQuery实现简单时尚快捷的气泡提示插件
- 深入剖析Android系统中Service和IntentService的区别
- php fckeditor 调用的函数
- Android Bitmap压缩方法的选择详解