-
统计素数并求和
2015-01-07 20:19:19统计素数并求和(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 张彤彧(浙江大学) 本题要求统计给定整数M...04-3. 统计素数并求和(20)
时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者张彤彧(浙江大学)本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出2个正整数M和N(1<=M<=N<=500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:10 31
输出样例:7 143
#include<stdio.h> int main() { int m,n; while(scanf("%d%d",&m,&n)!=EOF) { int i,j,sum,num; sum=0; num=0; if(m==n) { j=2; while(j<m&&m%j!=0)j++; if(m==j) printf("1 %d\n",m); else printf("0 0\n"); break; } for(i=m;i<=n;i++) { j=2; while(j<i&&i%j!=0)j++; if(i==j) { num=num+1; sum=sum+i; } } printf("%d %d\n",num,sum); } return 0; }
-
统计素数并求和python_C语言实现的统计素数并求和代码分享
2020-12-09 15:32:55C语言实现的统计素数并求和代码分享题目来源于PAT平台,此题又是费了一番脑子。题目要求输出给定区间内的素数个数并对他们求和。具体思路是利用循环判断素数,将结果传递给控制变量,由控制变量再来判断是否执行自增...C语言实现的统计素数并求和代码分享
题目来源于PAT平台,此题又是费了一番脑子。题目要求输出给定区间内的素数个数并对他们求和。具体思路是利用循环判断素数,将结果传递给控制变量,由控制变量再来判断是否执行自增以及求和。当然这里必须要注意1既不是素数也不是合数。
下面是代码:
代码如下:
#include
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
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;
}
时间: 2014-08-25
问题描述: 统计一个矩阵的各列元素之和.矩阵各元素为整数且绝对值不超过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
赶集网校招就采用了螺旋输出矩阵作为程序题,要求将矩阵螺旋输出如: 图中6*6矩阵线条所示为输出顺序,如果输出正确的话应该输出1~36有序数字. 我想的是这么做的: #include //#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
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[
本文实例讲述了Java实现的矩阵乘法.分享给大家供大家参考,具体如下: 思路: 矩阵乘法的前提是:前一矩阵的行数 == 后一矩阵的列数(rows == cols) 在满足前提的情况下:前一矩阵的第一行 与 第二个矩阵的第一列 逐个相乘.将乘积求和 作为 结果矩阵的第一个元素 类推刻得到:结果矩阵的 第 [row][col] 个元素 = 前一矩阵的第 row 行 与 后一矩阵的 col列上的元素 逐一相乘 后的乘积之和 代码及解析: 一.算法剖析: 1.设置两个for循环用来控制结果(输出)矩阵的
一. np.dot() 1.同线性代数中矩阵乘法的定义.np.dot(A, B)表示: 对二维矩阵,计算真正意义上的矩阵乘积. 对于一维矩阵,计算两者的内积. 2.代码 [code] import numpy as np # 2-D array: 2 x 3 two_dim_matrix_one = np.array([[1, 2, 3], [4, 5, 6]]) # 2-D array: 3 x 2 two_dim_matrix_two = np.array([[1, 2], [3, 4],
java 矩阵乘法的mapreduce程序实现 map函数:对于矩阵M中的每个元素m(ij),产生一系列的key-value对 其中k=1,2.....知道矩阵N的总列数;对于矩阵N中的每个元素n(jk),产生一系列的key-value对, 其中i=1,2.......直到i=1,2.......直到矩阵M的总列数. map package com.cb.matrix; import stati
本文实例讲述了python实现矩阵乘法的方法.分享给大家供大家参考.具体实现方法如下: def matrixMul(A, B): res = [[0] * len(B[0]) for i in range(len(A))] for i in range(len(A)): for j in range(len(B[0])): for k in range(len(B)): res[i][j] += A[i][k] * B[k][j] return res def matrixMul2(A, B):
如何计算矩阵乘法,这个大家都知道.通常情况下,我们都是用以下代码实现的: 复制代码 代码如下: for(i=0;i
本文实例讲述了C#实现矩阵乘法的方法.分享给大家供大家参考.具体如下: static double[][] MatrixMultiplication(double[][] matrixOne, double[][] matrixTwo) { int aRows = matrixOne.Length; int aCols = matrixOne[0].Length; int bRows = matrixTwo.Length; int bCols = matrixTwo[0].Length; if
Matrix是Array的一个小的分支,包含于Array.所以matrix 拥有array的所有特性. 但在数组乘和矩阵乘时,两者各有不同,如果a和b是两个matrices,那么a*b,就是矩阵积 如果a,b是数组的话,则a*b是数组的运算 1.对数组的操作 >>> import numpy as np >>> a=np.array([[1,2,3],[4,5,6],[7,8,9]]) >>> a array([[1, 2, 3], [4, 5, 6]
题目要求 从文件读入一个3*3数组,并计算每行的平均值. 参考解答 1. 数据文件:array.dat 创建一个.dat文件用于存放数组文件: 1 3 6 2 9 7 3 6 4 文件名随意啦. 2. 代码 如果需要计算行平均值的话改一下avg = (a[i][0] + a[i][1] + a[i][2]) / 3;这行代码就行了. 太简单了懒得写method操作啦: #include void main(){ FILE *fr; int i, j, a[3][3]; flo
本文实例讲述了Python cookbook(数据结构与算法)字典相关计算问题.分享给大家供大家参考,具体如下: 问题:在字典上对数据执行各式各样的计算(比如求最小值.最大值.排序). 解决方案:利用zip()将字典的键-值对"反转"为值-键对序列. 例如:如下字典存放的股票名称和对应的价格: >>> prices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.20, 'FB': 10.75 }
-
统计素数并求和python_Python练习题4.2统计素数并求和
2020-12-13 06:37:55本题要求统计给定整数m和n区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数m和n(1≤m≤n≤500)。输出格式:在一行中顺序输出m和n区间内素数的个数以及它们的和,数字间以空格分隔。代码如下:#!/...本题要求统计给定整数m和n区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数m和n(1≤m≤n≤500)。
输出格式:
在一行中顺序输出m和n区间内素数的个数以及它们的和,数字间以空格分隔。
代码如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
m,n = map(int,input().split(" "))
sum = 0
value = 0
for i in range(m,n+1):
if i == 1 :
continue
v = true
for j in range(2,i):
if i%j == 0:
v = false
break
if v :
sum += i
value += 1
print(value,sum)
本程序不难,要注意临界值1的判断,1不是素数。
在做类似于这种类型的筛选题,都可以加两个变量sum和value,根据筛选结果修改这两个的值,后面做输出即可。
今天发现了一个问题,那个答题不太稳定,同样的代码有时候提交答案都是对的,有时候就出现部分错误或者就是无返回值之类的,等会就行。或者仔细查看自己的代码。
读书和健身总有一个在路上
希望与广大网友互动??
点此进行留言吧!
-
C语言实现的统计素数并求和代码分享
2020-09-04 05:33:10主要介绍了C语言实现的统计素数并求和代码分享,来自PAT平台(浙江大学计算机程序设计能力考试系统)的一个题目,需要的朋友可以参考下 -
C语言统计素数并求和
2020-08-10 19:21:45统计素数并求和 统计给定整数M和N区间内素数的个数并对它们求和。 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500)。 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。...统计素数并求和
统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143本题中采用的判断素数的方法:判断一个数m能不能被 2 ~√m间任一整数整除,如果不能m 必定是素数。
#include "stdio.h" #include "math.h" void ss(int p ,int m) { int i,j,sum=0,t=0; for(i=p; i<=m; i++) { for(j=2; j<sqrt(i); j++) { if(i%j==0) break; } if(j>sqrt(i))//得出素数的个数并求和 { sum+=i; t++; } } printf("%d %d\n",t,sum); } int main() { int n,k; scanf("%d%d",&k,&n); ss(k,n); return 0; }
-
14:统计素数并求和
2020-04-24 23:52:4414:统计素数并求和 本题要求统计给定整数M和N区间内素数的个数并对它们求和。 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500)。 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间... -
oj1029统计素数并求和
2020-09-24 19:24:33统计素数并求和 描述 输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算: 输入 2 个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数以及这些素 数的和(素数就是只能被1 和自身...