当前位置:网站首页>Informatics Olympiad YBT 1171: factors of large integers | 1.6 13: factors of large integers
Informatics Olympiad YBT 1171: factors of large integers | 1.6 13: factors of large integers
2022-07-07 01:02:00 【Jun Yi_ noip】
【 Topic link 】
ybt 1171: The factor of a large integer
OpenJudge NOI 1.6 13: The factor of a large integer
【 Topic test site 】
1. High precision
Investigate : High precision die low precision
Explanation of high-precision calculation
【 Their thinking 】
First treat the numbers involved in the operation as low precision numbers , To solve this problem , It's not hard to write code :
int main()
{
int k, c;
cin >> c;
bool hasK = false;
for(int k = 2; k <= 9; ++k)
{
if(c % k == 0)
{
cout << k << ' ';
hasK = true;
}
}
if(hasK == false)
cout << "none";
return 0;
}
In this question ,c Is a high-precision number ,k The scope is 2~9, It is still a low precision number . Then just put c%k==0
Rewritten as high precision die low precision , To solve the problem .
【 Solution code 】
solution 1: function + Array
#include<bits/stdc++.h>
using namespace std;
#define N 35
// Convert a character array to a number array The number array starts from 1 Position to len Location , Save the numbers from low to high , The first 0 Position saves the number of digits
void toNum(char s[], int a[])
{
a[0] = strlen(s);
for(int i = 1; i <= a[0]; ++i)
a[i] = s[a[0] - i] - '0';
}
// High precision die low precision
int Mod(int a[], int b)
{
int x = 0;
for(int i = a[0]; i >= 1; --i)
x = (x * 10 + a[i]) % b;
return x;
}
int main()
{
int n, k, c[N] = {
};
char s[N];
bool hasK = false;
cin >> s;
toNum(s, c);
for(k = 2; k <= 9; ++k)
{
if(Mod(c, k) == 0)
{
cout << k << ' ';
hasK = true;
}
}
if(hasK == false)
cout << "none";
return 0;
}
solution 2: Overloaded operator in class
#include <bits/stdc++.h>
using namespace std;
#define N 35
struct HPN
{
int a[N];// Array of numbers
HPN()
{
memset(a, 0, sizeof(a));
}
HPN(char s[])
{
memset(a, 0, sizeof(a));
int len = strlen(s);
for(int i = 0; i < len; ++i)
a[len - i] = s[i] - '0';
a[0] = len;
}
int operator % (int b) // High precision die low precision
{
int x = 0;
for(int i = a[0]; i >= 1; --i)
x = (x * 10 + a[i]) % b;
return x;
}
};
int main()
{
char s[N];
cin >> s;
HPN c(s);// High precision digital c
bool hasK = false;
for(int k = 2; k <= 9; ++k)
{
if(c % k == 0)// High precision die low precision
{
cout << k << ' ';
hasK = true;
}
}
if(hasK == false)
cout << "none";
return 0;
}
边栏推荐
- 再聊聊我常用的15个数据源网站
- Advanced learning of MySQL -- Fundamentals -- four characteristics of transactions
- 线段树(SegmentTree)
- stm32F407-------SPI通信
- 以机房B级建设标准满足等保2.0三级要求 | 混合云基础设施
- View remote test data and records anytime, anywhere -- ipehub2 and ipemotion app
- Trace tool for MySQL further implementation plan
- What is time
- Mongodb client operation (mongorepository)
- [Batch dos - cmd Command - Summary and Summary] - String search, find, Filter Commands (FIND, findstr), differentiation and Analysis of Find and findstr
猜你喜欢
Dr selection of OSPF configuration for Huawei devices
Configuring OSPF basic functions for Huawei devices
Configuring the stub area of OSPF for Huawei devices
Make a simple graphical interface with Tkinter
第六篇,STM32脉冲宽度调制(PWM)编程
pyflink的安装和测试
Deeply explore the compilation and pile insertion technology (IV. ASM exploration)
Linear algebra of deep learning
Building a dream in the digital era, the Xi'an station of the city chain science and Technology Strategy Summit ended smoothly
Part VI, STM32 pulse width modulation (PWM) programming
随机推荐
[Niuke classic question 01] bit operation
Pytorch中torch和torchvision的安装
Periodic flash screen failure of Dell notebook
Link sharing of STM32 development materials
ZYNQ移植uCOSIII
New feature of Oracle 19C: automatic DML redirection of ADG, enhanced read-write separation -- ADG_ REDIRECT_ DML
Advanced learning of MySQL -- basics -- multi table query -- subquery
Installation and testing of pyflink
Dr selection of OSPF configuration for Huawei devices
.class文件的字节码结构
Provincial and urban level three coordinate boundary data CSV to JSON
详解OpenCV的矩阵规范化函数normalize()【范围化矩阵的范数或值范围(归一化处理)】,并附NORM_MINMAX情况下的示例代码
深入探索编译插桩技术(四、ASM 探秘)
[force buckle]41 Missing first positive number
How to get started and improve test development?
迈动互联中标北京人寿保险,助推客户提升品牌价值
Address information parsing in one line of code
stm32F407-------SPI通信
代码克隆的优缺点
from .cv2 import * ImportError: libGL.so.1: cannot open shared object file: No such file or direc