当前位置: 首页 > news >正文

深圳建专业网站便利的邯郸网站建设

深圳建专业网站,便利的邯郸网站建设,电子商务网站建设与维护题库,个人静态网页学生作业【NOIP提高组】计算系数 C语言实现C实现Java实现Python实现 💐The Begin💐点点关注,收藏不迷路💐 给定一个多项式 (ax by)^k ,请求出多项式展开后 x^n y^m 项的系数。 输入 共一行,包含 5 个整数&#x…

【NOIP提高组】计算系数

      • C语言实现
      • C++实现
      • Java实现
      • Python实现


💐The Begin💐点点关注,收藏不迷路💐

给定一个多项式 (ax + by)^k ,请求出多项式展开后 x^n y^m 项的系数。

输入

共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。

输出

输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取 模后的结果。

样例输入

1 1 3 1 2

样例输出

3

提示

【数据范围】 对于 30%的数据,有 0≤k≤10; 对于 50%的数据,有 a = 1,b = 1; 对于 100%的数据,有 0≤k≤1,000,0≤n, m≤k,且 n + m = k,0≤a,b≤1,000,000。

C语言实现

#include <stdio.h>
#include <stdlib.h>// 定义常量
#define N 1010
#define MOD 10007// 二维数组用于存储组合数
int c[N][N];// 输入参数
int a, b, k, n, m;// 快速幂函数,用于计算a的b次幂对MOD取模的结果
int qmi(int a, int b) {a %= MOD;int res = 1;while (b) {if (b & 1) {res = res * a % MOD;}b >>= 1;a = a * a % MOD;}return res;
}int main() {// 读取输入参数scanf("%d %d %d %d %d", &a, &b, &k, &n, &m);// 预处理组合数for (int i = 0; i <= k; i++) {for (int j = 0; j <= i; j++) {if (j == 0) {c[i][j] = 1;} else {c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD;}}}// 根据二项式定理计算并输出结果int coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD;printf("%d\n", coefficient);return 0;
}

C++实现

#include <iostream>
#include <algorithm>// 定义常量
const int N = 1010;
const int MOD = 10007;// 二维数组用于存储组合数
int c[N][N];// 输入参数
int a, b, k, n, m;// 快速幂函数,用于计算a的b次幂对MOD取模的结果
int qmi(int a, int b) {a %= MOD;int res = 1;while (b) {if (b & 1) {res = res * a % MOD;}b >>= 1;a = a * a % MOD;}return res;
}int main() {// 读取输入参数std::cin >> a >> b >> k >> n >> m;// 预处理组合数for (int i = 0; i <= k; i++) {for (int j = 0; j <= i; j++) {if (j == 0) {c[i][j] = 1;} else {c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD;}}}// 根据二项式定理计算并输出结果int coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD;std::cout << coefficient << std::endl;return 0;
}

Java实现

import java.util.Scanner;public class Main {// 定义常量static final int N = 1010;static final int MOD = 10007;// 二维数组用于存储组合数static int[][] c = new int[N][N];// 输入参数static int a, b, k, n, m;// 快速幂函数,用于计算a的b次幂对MOD取模的结果static int qmi(int a, int b) {a %= MOD;int res = 1;while (b!= 0) {if ((b & 1)!= 0) {res = res * a % MOD;}b >>= 1;a = a * a % MOD;}return res;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取输入参数a = scanner.nextInt();b = scanner.nextInt();k = scanner.nextInt();n = scanner.nextInt();m = scanner.nextInt();// 预处理组合数for (int i = 0; i <= k; i++) {for (int j = 0; j <= i; j++) {if (j == 0) {c[i][j] = 1;} else {c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD;}}}// 根据二项式定理计算并输出结果int coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD;System.out.println(coefficient);}
}

Python实现

# 定义常量
N = 1010
MOD = 10007# 输入参数
a, b, k, n, m = map(int, input().split())# 二维列表用于存储组合数(初始化为全0)
c = [[0] * (N) for _ in range(N)]# 快速幂函数,用于计算a的b次幂对MOD取模的结果
def qmi(a, b):a %= MODres = 1while b:if b & 1:res = res * a % MODb >>= 1a = a * a % MODreturn res# 预处理组合数
for i in range(k + 1):for j in range(i + 1):if j == 0:c[i][j] = 1else:c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD# 根据二项式定理计算并输出结果
coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD
print(coefficient)

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐
http://www.yayakq.cn/news/789382/

相关文章:

  • 怎样做自己的小说网站制作网页游戏的软件
  • 如何做网站源码备份自己注册一家公司需要多少钱
  • 官方网站手机 优帮云广州海珠区二手房房价
  • 商城网站建设公司价格alexa排名搜索
  • 建设银行的官方网站公告360优化大师
  • 中国招标网官方网站建设银行网上银行官方网站
  • 福建漳州东山建设局网站cms资源
  • 上海建设工程造价网站海报设计免费模板
  • 网站设计就业要求1 企业网站的一般内容是什么
  • 佛山做网站哪家好汽车之家网页
  • 婚纱网网站建设目的及功能定位网站logo设计教程
  • 用php做视频网站的步骤百度访问量统计
  • 烟台网站制作公司在线咨询鲜花网站模版
  • 淘宝网站怎么做适配苏州有名的设计公司
  • 南通网站定制企业做网站标题代码
  • 建设网站方法有哪些内容上海广告公司工资
  • 网站设计的优点和缺点班级优化大师免费下载
  • devexpress 网站开发邯郸微信公众号开发
  • 外贸网站建站m导购网站做基础销量
  • 小程序app分销网站建设动漫网页制作源代码
  • 建设网站的个人心得体会聚名网抢注
  • 厦门有什么网站设计公司书生商友软件下载
  • 潍坊网站建设500wordpress设置成宋体
  • 不知此网站枉做男人如何把官网
  • 如何制作自己的网站在里面卖东西设计网站musil
  • 网站静态化的处理广告设计样板图
  • 深圳做营销网站建设国内个人网站搭建
  • 上海门户网站建设公司做彩票网站推广
  • 英国网站域名找人做网站需要注意什么问题
  • 推荐好的简历制作网站软件商店正版下载