int函数

40: 分拆素数和

≡放荡痞女 提交于 2020-03-04 13:00:45
40 分拆素数和 作者: xxx时间限制: 1S章节: 函数 问题描述 : 把一个偶数拆成两个不同素数的和,有几种拆法呢? 说明: 比如10,可以拆成3+7和5+5以及7+3, 但是3+7与7+3相同,只算一种,5+5由于两个素数相同,不计算在内。 因此,10的拆法只有一种。 输入说明 : 首先输入一个T(不超过500),然后输入T个正的偶数,其值不会超过10000。 输出说明 : 对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。 输入范例 : 4 4 6 8 10 输出范例 : 0 0 1 1 代码: #include <stdio.h> int main() { int hash[10000] = { 0 }; hash[0] = hash[1] = 1; for (int i = 2; i < 10000; i++) { if (hash[i] == 0) { for (int j = i + i; j < 10000; j = j + i) { hash[j] = 1; } } } int n, m; int num = 0; while (scanf("%d", &n) != EOF) { for (int k = 0; k < n; k++) { scanf("%d", &m); for (int i = 2; i < m/2; i++) { if ((hash

二维数组中的查找 --剑指offer

扶醉桌前 提交于 2020-03-04 12:57:07
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路 : 选择左下角点(右上点)都可以,因为这两个点比较特别 比同行的都小(大),比同列的都大(小) 这里我选的是左下点 public boolean Find(int target, int [][] array) { if(array == null){ return false; } int row=array.length; int col=array[0].length; int j =0; int i =row; while(j < col && i > 0){ if(target > array[i-1][j]){ j ++; } else if(target < array[i-1][j]){ i --; } else { return true; } } return false; } 来源: https://www.cnblogs.com/nlw-blog/p/12408821.html

C++静态链表的实现(包括各操作的成员函数)

[亡魂溺海] 提交于 2020-03-04 10:29:49
静态链表是用数组描述的链表,其实是为了给没有指针的语言设计的单链表的方法。尽管可能用不上,但这种思考方式是还是很巧妙的,利用游标来实现指针的作用,应该理解这种思想以备不时之需 ,网上找的c++代码基本都有c的痕迹,就自己学了一天,其中加了大量的注释,希望对其他初学者有所帮助 1 #include<iostream> 2 #include<ctime> 3 #include<cstdlib> 4 using namespace std; 5 #define MAXSIZE 1000 6 7 #ifndef LIST_H 8 #define LIST_H 9 class node{//创建结点结构,包括数据和游标,游标记录下一个元素所对应的下标 10 public: 11 int cur; 12 int data; 13 }; 14 15 class List{ 16 public: 17 List();//无参数的构造函数 18 bool CreateList(int size);//初始链表 19 int new_sl();//模仿普通链表的new分配内存空间 20 void delete_sl(int i);//模仿普通链表的delete释放内存空间,这个形参i代表链表中将要释放的元素的下标 21 void ClearList();//清空链表 22 bool ListEmpty

第六周作业

♀尐吖头ヾ 提交于 2020-03-04 07:25:42
这次作业属于那个课程 C语言程序设计 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class1-2018/homework/2889 我在这个课程的目标是 理解变量、内存单元和地址之间的关系;掌握如何使用指针变量;掌握指针变量的基本运算;理解指针作为函数参数的作用;掌握如何使用指针实现函数调用返回多个值 这个作业在那个具体方面帮助我实现目标 正确使用字符串 参考文献 C语言程序设计 一、本周完成的作业: 求两数平方根之和 函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。 函数接口定义: double fun (double *a, double *b); 其中 a 和 b 是用户传入的参数。函数求 a 指针和 b 指针所指的两个数的平方根之和,并返回和。 裁判测试程序样例: #include<stdio.h> #include <math.h> double fun (double *a, double *b); int main ( ) { double a, b, y; scanf ("%lf%lf", &a, &b ); y=fun(&a, &b); printf ("y=%.2f\n", y ); return 0;

调整数组顺序使奇数位于偶数前面

大城市里の小女人 提交于 2020-03-04 07:24:23
问题描述: 输入一个整数数组,实现一个函数来调整该数组中的数字顺序, 是的所有奇数位于数组的前半部分,所有偶数位于后半部分。 思路分析: 使用两个指针,一个指向数组头,一个指向数组尾,相向运动,一个在前面找偶数, 一个在后面找奇数,找到后互换,两个指针相遇则结束。 参考代码: void RecordOddEven(int *pData,int nLength) { if ((pData == NULL) || (nLength == 0)) { return ; } int *pBegin = pData; int *pEnd = pData+nLength-1; while(pBegin < pEnd) { while((pBegin < pEnd) && ((*pBegin &0x1) != 0)) { pBegin++; } while((pBegin < pEnd) && ((*pEnd &0x1) == 0)) { pEnd--; } if (pBegin < pEnd) { int tmp = *pEnd; *pEnd = *pBegin; *pBegin = tmp; } } cout<<*pBegin<<" "<<*pEnd<<endl; } 来源: https://www.cnblogs.com/Mr-Zhong/p/4177156.html

面试题10- I. 斐波那契数列(Leetcode)

这一生的挚爱 提交于 2020-03-04 05:51:00
面试题10- I. 斐波那契数列 难度简单8 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入: n = 2 输出: 1 class Solution { public: int fib(int n) { if(n == 0) return 0; if(n == 1) return 1; int a =0,b =1; int i = 2; for(;i<n + 1;++i) { if(i%2 == 0) a = (a + b)%(1000000007); else b = (a + b)%(1000000007); } return (i%2 ? a : b); } }; 来源: CSDN 作者: Yanpr919 链接: https://blog.csdn.net/Yanpr919/article/details/104640529

UVA 10003 Cutting Sticks 区间DP

匆匆过客 提交于 2020-03-03 22:03:20
  题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=944   题目大意: 给你一个长度为L的木条, 和N个切割点, 每次切割的代价是当前切割木条的长度, 问最小代价是多少。   解题思路: 很显然的区间DP, dp(i, j)表示在i号和j号点之间切割的最小代价。dp转移方程为dp(i, j) = min(dp(i, k)+dp(k,j)+a[j]-a[i])|k属于(i, j)     代码: #include <iostream> #include <cstdio> #include <string> #include <vector> #include <map> #include <cstring> #include <iterator> #include <cmath> #include <algorithm> #include <stack> #include <deque> #include <map> using namespace std; const int INF = 0x3fffffff; int dp[100][100]; // d(i, j)在 [i , j] 区间切割的最优费用 int n;

C/C++-014-get成员函数的使用

我的未来我决定 提交于 2020-03-03 17:33:43
C/C+±014-get成员函数的使用-2020-3-3 //get成员函数的使用 # include <iostream> using namespace std ; int main ( ) { char c ; c = cin . get ( ) ; cout << "c:" << c << endl ; cout << "ASCII:" << ( int ) c << endl ; return 0 ; } t c : t ASCII : 116 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Process exited with return value 0 Press any key to continue . . . 来源: CSDN 作者: c l o u d 链接: https://blog.csdn.net/weixin_41096569/article/details/104631272

(转)Splay伸展树模板

允我心安 提交于 2020-03-03 16:03:24
大佬博客: https://www.luogu.com.cn/blog/user19027/solution-p3369 代码: class Splay//存储规则:小左大右,重复节点记录 { #define root e[0].ch[1] //该树的根节点 private: class node { public: int v,father;//节点值,父级节点 int ch[2];//左孩子=0,右孩子=1 int sum;//自己+自己下级有多少节点。在根节点为1。 int recy;//记录自己被重复了几次 }; node e[N];//Splay树主体 int n,points;//使用存储数,元素数 void update(int x) { e[x].sum=e[e[x].ch[0]].sum+e[e[x].ch[1]].sum+e[x].recy; } int identify(int x) { return e[e[x].father].ch[0]==x?0:1; } void connect(int x,int f,int son)//连接函数。用法:connect(son,father,1/0) { e[x].father=f; e[f].ch[son]=x; }//作用:使得x的father=f,f的son=x. void rotate(int x) {

LOJ6229 这是一道简单的数学题

筅森魡賤 提交于 2020-03-03 10:34:13
这是一道简单的数学题 设 \[ F(n)=\sum_{i=1}^n\sum_{j=1}^i\frac{\mathrm{lcm}(i,j)}{\mathrm{gcd}(i,j)} \] 其中, \(\mathrm{lcm}(a,b)\) 表示 \(a\) 和 \(b\) 的最小公倍数, \(\mathrm{gcd}(a,b)\) 表示 \(a\) 和 \(b\) 的最大公约数。 给定 \(n\) ,让你求: \(F(n) \bmod1000000007\) 。 对于所有数据, \(1 \le n \le 10^9\) 。 题解 \[ F(n)=\sum_{i=1}^n\sum_{j=1}^i \frac{ij}{\gcd(i,j)^2}\\ =\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^i ij[\gcd(i,j)=1]\\ =\sum_{d=1}^n\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\mu(x)x^2\sum_{i=1}^{\lfloor\frac{n}{dx}\rfloor}\sum_{j=1}^i ij\\ =\sum_{d=1}^n G(\lfloor\frac{n}{d}\rfloor) \] \[ G(n)=\sum_{x=1}^n\mu(x)x^2