45(2023.12.8)(求积,阶乘,魔法,剪刀石头布)

2023-12-10 08:15

本文主要是介绍45(2023.12.8)(求积,阶乘,魔法,剪刀石头布),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include<iostream>
using namespace std;
#include<string>
int arr[250001] = {};
int main()
{string str1, str2;cin >> str1 >> str2;int L1 = str1.length();int L2 = str2.length();int num1, num2;int times = 0;for (int i = (L1 - 1);i >= 0;i--){num1 = (int)str1[i] - 48;for (int j = (L2 - 1);j >= 0;j--){num2 = (int)str2[j] - 48;arr[250000 - L1 + 1 + i-times] += (num1 * num2);times++;}times = 0;}for (int i = 250000;i >= 0;i--){if (arr[i] >= 10){arr[i - 1] += (arr[i] / 10);arr[i] %= 10;}}for (int i = 0;i <= 250000;i++){if (arr[i] != 0){for (int j = i;j <= 250000;j++){cout << arr[j];}cout << endl;return 0;}}cout << '0' << endl;system("pause");return 0;
}

 

#include<iostream>
using namespace std;
#include<string>;
int arr[25001] = {};
int main()
{int n;cin >> n;int start = 1;arr[25000] = 1;for (int i = 1;i <= n;i++){for (int j = 25000;j >= 0;j--){arr[j] *= i;}/*for (int q = 0;q <= 25000;q++){if (arr[q] != 0){for (int j = q;j <= 25000;j++){cout << arr[j]<<" ";q = 25001;}cout << endl;}}*/for (int j = 25000;j >= 0;j--){if (arr[j] >= 10){arr[j - 1] += arr[j] / 10;arr[j] %= 10;}}/*for (int q = 0;q <= 25000;q++){if (arr[q] != 0){for (int j = q;j <= 25000;j++){cout << arr[j] << " ";q = 25001;}cout << endl;}}*/}for (int i = 0;i <= 25000;i++){if (arr[i] != 0){for (int j = i;j <= 25000;j++){cout << arr[j];}i = 25001;}}system("pause");return 0;
}

#include<iostream>
using namespace std;
#include<string>
#include<vector>
struct Array
{int arrr[25001];
};
vector<Array>v;
Array a1;
int arr[25001] = {};
void test(int n)
{for (int j = 25000;j >= 0;j--){arr[j] = 0;}arr[25000] = 1;for (int i = 1;i <= n;i++){for (int j = 25000;j >= 0;j--){arr[j] *= i;}/*for (int q = 0;q <= 25000;q++){if (arr[q] != 0){for (int j = q;j <= 25000;j++){cout << arr[j]<<" ";q = 25001;}cout << endl;}}*/for (int j = 25000;j >= 0;j--){if (arr[j] >= 10){arr[j - 1] += arr[j] / 10;arr[j] %= 10;}}/*for (int q = 0;q <= 25000;q++){if (arr[q] != 0){for (int j = q;j <= 25000;j++){cout << arr[j] << " ";q = 25001;}cout << endl;}}*/}for (int j = 25000;j >= 0;j--){a1.arrr[j] = arr[j];}v.push_back(a1);/*for (int i = 0;i <= 25000;i++){if (arr[i] != 0){for (int j = i;j <= 25000;j++){cout << arr[j];}i = 25001;}}*/
}
int main()
{int n;cin >> n;for (int i = 1;i <= n;i++){test(i);}int result[25001] = {};/*for (vector<Array>::iterator it = v.begin();it != v.end();it++){for (int i = 0;i <= 25000;i++){if ((*it).arrr[i] != 0){for (int j = i;j <= 25000;j++){cout << (*it).arrr[j];}i = 25001;cout << endl;}}}*/for (vector<Array>::iterator it = v.begin();it != v.end();it++){for (int i = 0;i <= 25000;i++){result[i] += (*it).arrr[i];}}for (int j = 25000;j >= 0;j--){if (result[j] >= 10){result[j - 1] += result[j] / 10;result[j] %= 10;}}for (int i = 0;i <= 25000;i++){if (result[i] != 0){for (int j = i;j <= 25000;j++){cout << result[j];}i = 25001;}}system("pause");return 0;}

#include<iostream>
using namespace std;
#include<vector>
int arr[500][500] = {};
struct Zhilin
{int m_X;int m_Y;int m_R;int m_Z;
};
int main()
{int n, m;cin >> n >> m;int start = 1;Zhilin zhi;vector<Zhilin>v;for (int i = 0;i < n;i++){for (int j = 0;j < n;j++){arr[i][j] = start;start++;}}int x, y, r, z;for (int i = 0;i < m;i++){cin >> x >> y >> r >> z;zhi.m_R = r;zhi.m_X = x;zhi.m_Y = y;zhi.m_Z = z;v.push_back(zhi);}vector<int>v1;int r1;for (vector<Zhilin>::iterator it = v.begin();it != v.end();it++){r1 = (*it).m_R;for (int i = (*it).m_X - r1 - 1;i <= r1 + (*it).m_X - 1;i++){for (int j = (*it).m_Y - r1 - 1;j <= (*it).m_Y + r1 - 1;j++){v1.push_back(arr[i][j]);}}if ((*it).m_Z == 0){vector<int>::iterator pos = v1.begin();for (int i = (*it).m_Y + r1 - 1;i >= (*it).m_Y - r1 - 1;i--){for (int j = (*it).m_X - r1 - 1;j <= (*it).m_X + r1 - 1;j++){arr[j][i] = *pos;if (!(i == (*it).m_Y - r1 - 1 && j == (*it).m_X + r1 - 1))pos++;}}v1.clear();}else if ((*it).m_Z == 1){vector<int>::iterator pos = v1.begin();for (int i = (*it).m_Y - r1 - 1;i <= (*it).m_Y + r1 - 1;i++){for (int j = (*it).m_X + r1 - 1;j >= (*it).m_X - r1 - 1;j--){arr[j][i] = *pos;if (!(i == ((*it).m_Y + r1 - 1) && j == (*it).m_X - r1 - 1))pos++;}}v1.clear();}}for (int i = 0;i < n;i++){for (int j = 0;j < n;j++){cout << arr[i][j] << " ";}cout << endl;}system("pause");return 0;
}

 

 

#include<iostream>
using namespace std;
int main()
{int times, xa, xb;int logo;int a = 0;int b = 0;int score1 = 0;int score2 = 0;cin >> times;cin>> xa >> xb;int arra[201] = {};int arrb[201] = {};for (int i = 0;i < xa;i++){cin >> logo;arra[i] = logo;}for (int i = 0;i < xb;i++){cin >> logo;arrb[i] = logo;}/*for (int i = 0;i < xa;i++){cout << arra[i] << " ";}cout << endl;for (int i = 0;i < xb;i++){cout << arrb[i] << " ";}cout << endl;*/for (int i = 0;i < times;i++){if (a == xa)a = 0;if (b == xb)b = 0;if (arra[a] == 0 && arrb[b] == 1)score2++;if (arra[a] == 0 && arrb[b] == 2)score1++;if (arra[a] == 0 && arrb[b] == 3)score1++;if (arra[a] == 0 && arrb[b] == 4)score2++;if (arra[a] == 1 && arrb[b] == 2)score2++;if (arra[a] == 1 && arrb[b] == 3)score1++;if (arra[a] == 1 && arrb[b] == 4)score2++;if (arra[a] == 2 && arrb[b] == 3)score2++;if (arra[a] == 2 && arrb[b] == 4)score1++;if (arra[a] == 3 && arrb[b] == 4)score1++;if (arrb[b] == 0 && arra[a] == 1)score1++;if (arrb[b] == 0 && arra[a] == 2)score2++;if (arrb[b] == 0 && arra[a] == 3)score2++;if (arrb[b] == 0 && arra[a] == 4)score1++;if (arrb[b] == 1 && arra[a] == 2)score1++;if (arrb[b] == 1 && arra[a] == 3)score2++;if (arrb[b] == 1 && arra[a] == 4)score1++;if (arrb[b] == 2 && arra[a] == 3)score1++;if (arrb[b] == 2 && arra[a] == 4)score2++;if (arrb[b] == 3 && arra[a] == 4)score2++;a++;b++;}cout << score1 << " " << score2;system("pause");return 0;
}

 

 

这篇关于45(2023.12.8)(求积,阶乘,魔法,剪刀石头布)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476533

相关文章

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

c++习题30-求10000以内N的阶乘

目录 一,题目  二,思路 三,代码    一,题目  描述 求10000以内n的阶乘。 输入描述 只有一行输入,整数n(0≤n≤10000)。 输出描述 一行,即n!的值。 用例输入 1  4 用例输出 1  24   二,思路 n    n!           0    1 1    1*1=1 2    1*2=2 3    2*3=6 4

探索Python的数学魔法:Numpy库的神秘力量

文章目录 探索Python的数学魔法:Numpy库的神秘力量背景:为什么选择Numpy?Numpy是什么?如何安装Numpy?五个简单的库函数使用方法场景应用常见Bug及解决方案总结 探索Python的数学魔法:Numpy库的神秘力量 背景:为什么选择Numpy? 在Python的世界中,数据处理和科学计算是不可或缺的一部分。但原生Python在处理大规模数据时可能会显

高精度加法,乘法,阶乘

#include <iostream>#include <map>#include <string>#include <algorithm>using namespace std;const int Max = 50000;string str1,str2;/***********乘法***********/void chenfa(){cin >> str1>>str2;int a

玩转Python Turtle库,实现满屏飘字的魔法!

前言     本文将教你如何使用Python的Turtle库,通过简单的编程实现满屏飘字的炫酷效果。无需复杂的编程知识,跟着我们的步骤,你也可以成为编程小达人! 效果展示 开发过程 一、准备工作 首先,确保你的电脑上已经安装了Python环境。然后,你需要安装或更新Turtle库(通常Python安装时自带了Turtle库)。 二、编写代码 接下来,我们将通过编写一个简单的P

重复采样魔法:用更多样本击败单次尝试的最强模型

这篇文章探讨了通过增加生成样本的数量来扩展大型语言模型(LLMs)在推理任务中的表现。 研究发现,重复采样可以显著提高模型的覆盖率,特别是在具有自动验证工具的任务中。研究还发现,覆盖率与样本数量之间的关系可以用指数幂律建模,揭示了推理时间的扩展规律。尽管多数投票和奖励模型在样本数量增加时趋于饱和,但在没有自动验证工具的任务中,识别正确样本仍然是一个重要的研究方向。 总体而言,重复采样提供了一种

[MySQL实战45讲]MySQL笔记之数据库锁

备份数据库,全局锁 如果全部使用InnoDB引擎,那么直接 mysqldump -single-transaction 即可 否则用FTWRL语句,即 flush table with read lock。 你发现你的应用程序里有 lock tables 这样的语句 表锁一般是在数据库引擎不支持行锁的时候才会被用到的。 要么是你的系统现在还在用 MyISAM 这类不支持事务的引擎,那要安

[MySQL实战45讲]MySQL笔记之事务

基本要素 ACID 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣

[MySQL实战45讲]MySQL笔记之索引

B+树索引和Hash索引区别 哈希索引适合等值查询,但是无法进行范围查询 哈希索引没办法利用索引完成排序 哈希索引不支持多列联合索引的最左匹配规则 如果有大量重复键值的情况下,哈希索引的效率会很低,因为存在哈希碰撞问题 索引失效的情况 对于创建的多列索引(复合索引),不是使用的第一部分就不会使用索引 对于使用 like 查询, 查询如果是 ‘%aaa’ 不会使用索引,而 ‘aaa%

[MySQL实战45讲]MySQL笔记之数据库基础

MySQL查询过程 连接数据库 查询缓存,若命中直接返回结果(不推荐使用,更新即失效,利用效率低,8.0已经删除查询缓存) 语法分析 语句优化 查询存储引擎 重建表 作用:1.重建索引 2.清除空洞,碎片整理,收缩表空间 方法:1. alter table t engine=InnoDB 2.optimize table t analyze table t (只重建索引)