NEFU 119

和上一题一样,注意除不尽为0

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

long long n,p;

int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		scanf("%lld%lld",&n,&p);
		int a,b;
		a=b=0;
		for(long long  i=p;i<=n*2;i*=p)
		a+=((2*n)/i);
		for(long long i=p;i<=n;i*=p)
		b+=(n/i);
		long long  tmp=a-b-b;
		printf("%lld\n",tmp>0?tmp:0);
	}
	return 0;
}

  

时间: 2024-10-12 16:47:01

NEFU 119的相关文章

NEFU 119 组合素数 (n!素因数p的幂的求法)

组合素数 Problem : 119 Time Limit : 1000ms Memory Limit : 65536K description 小明的爸爸从外面旅游回来给她带来了一个礼物,小明高兴地跑回自己的房间,拆开一看是一个很大棋盘(非常大),小明有所失望.不过没过几天发现了大棋盘的好玩之处.从起点(0,0)走到终点(n,n)的非降路径数是C(2n,n),现在小明随机取出1个素数p, 他想知道C(2n,n)恰好被p整除多少次?小明想了很长时间都没想出来,现在想请你帮助小明解决这个问题,对于

nyoj 119 士兵杀敌(三) 【线段树】【单点更新】

题意:... 策略如题. 思路:我们先假设只求某一区间的最大值,我们只需要利用线段树的模板,只需要初始化和询问的时候小小的修改一下,改成祖先结点储存的不再是子节点的和而是两个子节点之间的最大值,这样我们可以求出最大值了,最小值也是这样求. 注意:因为询问的时候既要求最大值又要求最小值,所以要返回结构体. 代码: #include <stdio.h> #include <string.h> #define M 100005 struct node{ int left, right;

119. Pascal&#39;s Triangle II

Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3,3,1]. Note:Could you optimize your algorithm to use only O(k) extra space? 1 class Solution { 2 public: 3 vector<int> getRow(int rowIndex) { 4 5 vect

Java [Leetcode 119]Pascal&#39;s Triangle II

题目描述: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3,3,1]. 解题思路: 每次在上一个list前面插入1,然后后面的每两个间相加赋值给前一个数. 代码描述: public class Solution { public List<Integer> getRow(int rowIndex) { List<Integer> r

[leedcode 119] Pascal&#39;s Triangle II

Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3,3,1]. public class Solution { public List<Integer> getRow(int rowIndex) { //由于需要O(k)空间,因此需要借助两个数组保存中间值,并交换两个数组,注意交换的方法! List<Integer> list=new

struts2-dojo-plugin-2.3.1.2.jar!/struts-plugin.xml:29:119

Unable to load configuration. - bean - jar:file:/D:/code_workspace/SSHWorkSpace3/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/TestDojo/WEB-INF/lib/struts2-dojo-plugin-2.3.1.2.jar!/struts-plugin.xml:29:119 是因为dojo和struts的版本不符合,下载最新的j

快速搭建虚拟桌面测试环境(NetScaler10.1.119.7、StoreFront、XenDesktop7.5)

经过本人几天的摸索和测试 快速搭建虚拟桌面的步骤如下: 1.制作Windows2008R2的模版(安装上Xentools.dotNet4.0.dotNet4.5.SQLServer2008R2安装准备.关闭IE安全.关闭防火墙,然后使用Sysprep封装,转成模版) 2.使用模版生产3个虚拟机分别命名为AD50,DB49,XD55,PVS56(安装域控,把XD55和PVS56都加入到域中,还有安装一个数据库) 3.在XD55上安装Xendesktop软件,在PVS上安装PVS软件 4.安装Win

DRDB报错------0: Failure: (119) No valid meta-data signature found.

一. 错误 drbdadm create-md datadrbdadm up data  <--启动时报错 [[email protected]1-1 ~]# drbdadm up data 0: Failure: (119) No valid meta-data signature found. ==> Use 'drbdadm create-md res' to initialize meta-data area. <== Command 'drbdsetup-84 attach 0

Entity Framework 6 Recipes 2nd Edition(11-9)译 -&gt; 在LINQ中使用规范函数

11-9. 在LINQ中使用规范函数 问题 想在一个LINQ查询中使用规范函数 解决方案 假设我们已经有一个影片租赁(MovieRental )实体,它保存某个影片什么时候租出及还回来,以及滞纳金等,如Figure 11-9. 所示: Figure 11-9. The MovieRental entity that has the dates for a rental period along with any late fees 我们想取得所有租期超过10天的影片 如何创建和使用查询,如Lis