int函数

C# 函数重载 示例 求圆的面积

依然范特西╮ 提交于 2020-04-08 13:24:05
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication { class Circle { private const float PI = 3.141526F ; // 1.没有任何已知条件 public static double Area() { Console.WriteLine( " 空空如也! " ); return 0 ; } // 2.已知圆心坐标 public static double Area( int x1, int y1) { Console.WriteLine( " 这是一个圆点,坐标为({0},{1}) " ,x1,y1); return 0 ; } // 3.已知半径 public static double Area( double r) { double theArea; theArea = PI * r * r; return theArea; } // 4.已知圆心坐标和半径 public static double Area( int x1, int y1, double r) { Console.WriteLine( " 这是一个圆点在({0},{1})半径为{2}的圆

luogu4389 付公主的背包

余生长醉 提交于 2020-04-08 05:00:23
题目链接: 洛谷 题目大意:现在有$n$个物品,每种物品体积为$v_i$,对任意$s\in [1,m]$,求背包恰好装$s$体积的方案数(完全背包问题)。 数据范围:$n,m\leq 10^5$ 这道题,看到数据范围就知道是生成函数。 $$Ans=\prod_{i=1}^n\frac{1}{1-x^{v_i}}$$ 但是这个式子直接乘会tle,我们考虑进行优化。 看见这个连乘的式子,应该是要上$\ln$. $$Ans=\exp(\sum_{i=1}^n\ln(\frac{1}{1-x^{v_i}}))$$ 接下来的问题就是如何快速计算$\ln(\frac{1}{1-x^{v_i}})$。 $$\ln(f(x))=\int f'f^{-1}dx$$ 所以 $$\ln(\frac{1}{1-x^v})=\int\sum_{i=1}^{+\infty}vix^{vi-1}*(1-x^v)dx$$ $$=\int(\sum_{i=1}^{+\infty}vix^{vi-1}-\sum_{i=2}^{+\infty}v(i-1)x^{vi-1})dx$$ $$=\int(\sum_{i=1}^{+\infty}vx^{vi-1})dx$$ $$=\sum_{i=1}^{+\infty}\frac{1}{i}x^{vi}$$ 然后就可以直接代公式了。 1 #include<cstdio> 2

c++标准模板库的使用

青春壹個敷衍的年華 提交于 2020-04-08 00:35:01
1.priority_queue<Type, Container, Functional> priority_queue<int,vector<int>,greater<int> >q; //小根堆,即对头元素最小; priority_queue<int>//默认情况,大根堆,即队头元素最大。(后续更新) 2.deque【双端队列】 接口类似vector(单向插入删除) c.pop_back() 弹出最后一个元素 c.push_back(elem)从后面插入一个元素 deque(双向插入删除) c.push_front(elem)从前面插入一个元素 c.pop_front(elem)删除最前面的元素 c.clear()清除队列中所有元素 c.size()返回队列中的元素数量 3.stack stack<int>s; stack<string>s; s.push(x)无返回值,将元素x压栈 s.pop();退栈,无返回值 s.top();取栈顶元素,返回栈顶元素 s.empty();判断栈是否为空,如果是空,返回1,否则返回0 s.size();返回栈中元素的个数 在栈中没有提供清空操作的函数,但是可以间接地实现清空栈, while(!s.empty())s.pop(); stack模板类需要2个模板参数,一个为元素类型,一个为容器类型,但是只有元素类型是必要的,在容器类型缺省时

结构体实例二

旧巷老猫 提交于 2020-04-07 16:14:59
定义一个结构体变量(包括年、月、日)。编写一个函数DAYS,计算该日期在本年中是第几天(注意闰年问题)。 由主函数将年月日传递给DAYS函数,计算之后,将结果传回到主函数输出。 #include <stdio.h> #include <stdlib.h> int days; struct ymd{ int year; int month; int day; }ymd1; void DAYS(int years,int month,int day){ int i; int m[12]={31,28,31,30,31,30,31,31,30,30,31,31}; if(years%100==0&&years%4==0){ m[1]+=1; } days=day; for(i=0;i<month-1;i++){ days+=m[i]; } printf("一年的第%d天",days); } int main() { printf("请输入年月日!\n"); scanf("%d",&ymd1.year); scanf("%d",&ymd1.month); scanf("%d",&ymd1.day); DAYS(ymd1.year,ymd1.month,ymd1.day); /* if(ymd1.month%100==0&&ymd1.month%4==0){ ymd1.day+=1; }

【测试之道】深入探索:单元测试之Parameterized tests

房东的猫 提交于 2020-04-07 10:30:47
相关文章 深入探索:单元测试之Test runners 深入探索:单元测试之基于 suites 的聚合测试 深入探索:单元测试之测试执行顺序 深入探索:单元测试之异常测试 深入探索:单元测试之Ignnore测试和TimeOut测试 深入探索:单元测试之Categories 深入探索:单元测试之Assertions JUnit 常用的runner 之一 Parameterized 能实现参数化测试。运行参数化测试类时,将为测试方法和测试数据元素的交叉产品创建实例。 举个例子,测试斐波那契 函数,我们可以这样写: import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.Collection; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class FibonacciTest { @Parameters public static Collection

java方法、方法重载

回眸只為那壹抹淺笑 提交于 2020-04-07 00:30:23
java方法 一、Java方法 1. 方法声明 [修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表) { 语句... } 2. 方法调用 对象名.方法名(实际参数); 1 public class TestMethod { 2 public static void main(String args[]) { 3 printInfo(); 4 int num1 = 2020; 5 int num2 = 30; 6 System.out.printf("%d + %d = %d", num1, num2, add(num1, num2)); 7 } 8 9 public static int add(int a, int b) { 10 return a + b; 11 } 12 13 public static void printInfo() { 14 System.out.println("步平凡的博客>>>"); 15 } 16 } 二、Java方法重载 1. 方法重载与方法的区别   就上方的加法函数add()而言,若想要完成三个数或多个数的加法时,此时就用到方法重载了。   方法重载可以理解为方法的拓展。 2. 方法重载的条件   方法重载的名字与原方法名相同,但形式参数列表不同,此处不同体现为参数类型、参数个数。   更好的理解,看看下面代码吧~~~

P5715 三位数排序

点点圈 提交于 2020-04-06 20:50:32
题意:给出三个数a b c 从小到大进行排序 提示:创建一个存数据的数组,在{}中输出in.nextInt()分别输入a b c,然后用函数Arrays.sort()自动排序,默认从小到大 import java.util.*; public class Main{ public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner in=new Scanner(System.in); int numbers[]=new int[] {in.nextInt(), in.nextInt(), in.nextInt()}; Arrays.sort(numbers); System.out.println(numbers[0]+" "+numbers[1]+" "+numbers[2]+" "); } } 来源: https://www.cnblogs.com/coke-/p/12644160.html

const int *,const int * const和int const *有什么区别?

≡放荡痞女 提交于 2020-04-06 20:31:30
问题: I always mess up how to use const int* , const int * const , and int const * correctly. 我总是搞砸了如何正确使用 const int* , const int * const 和 int const * 。 Is there a set of rules defining what you can and cannot do? 是否有一组规则定义您可以做什么和不能做什么? I want to know all the do's and all don'ts in terms of assignments, passing to the functions, etc. 我想知道在分配,传递给函数等方面所有需要做的事情。 解决方案: 参考一: https://stackoom.com/question/4nPi/const-int-const-int-const和int-const-有什么区别 参考二: https://oldbug.net/q/4nPi/What-is-the-difference-between-const-int-const-int-const-and-int-const 来源: oschina 链接: https://my.oschina.net/stackoom

C - 4 Values whose Sum is 0 POJ - 2785 (折半枚举)(二分搜索)

落花浮王杯 提交于 2020-04-06 19:47:08
训练赛上一题,当时没做出来,Orz太弱了 The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, compute how many quadruplet (a, b, c, d ) ∈ A x B x C x D are such that a + b + c + d = 0 . In the following, we assume that all lists have the same size n . Input The first line of the input file contains the size of the lists n (this value can be as large as 4000). We then have n lines containing four integer values (with absolute value as large as 2 28 ) that belong respectively to A, B, C and D . Output For each input file, your program has to write the number quadruplets whose

FarmCraft,又是Dp

杀马特。学长 韩版系。学妹 提交于 2020-04-06 13:05:30
题目依然 链接 题意:   从根节点出发,每条边走两遍回到根节点,走边用时1,到达某个节点之后开始计时,到该节点最大的计时数时结束,回到根节点时根节点开始计时。求让所有计时都结束的最小时间。 Solve:   很容易想到树形Dp,但是怎么Dp呢,因为记时开始后你还可以移动,所以并不是子树的简单累加,而是某种方法取max,我们先把状态定义下来,Dp[i]表示把以i为根的子树全部计时结束后需要的最小时间,那么我们要想一下怎么转移。   如果我们已经知道了遍历顺序我们可以怎么转移,那就是Dp[i]=max(a[i],Dp[son1]+has1*2-1,Dp[son2]+has2*2-1+...+Dp[sonn]+hasn*n-1),hasj表示走到第j个儿子总共走的边数。   为什么也是显而易见的,因为计时是同步的,所以我们只需取max就可以了。   某大佬:我觉得有问题。   我:一会儿为您解释。。。   好的这个不太严谨的转移方程就写出来了,注意,是不太严谨的。   那么我们怎么确定走儿子的顺序呢?这个再枚举就不太好了,我们要想一个好点的办法,这里其实很好想到要根据某个值进行排序,根据什么呢?其实这个只要稍微画画图就能想明白,如果Dp[i]+2*son[j]>Dp[j]+2*son[i].则i在j前面,这个怎么想到的呢,可以先画一下两个儿子的情况(这种很好证明)再类比一下