diff --git a/C++/CSP/U5/A1059.cpp b/C++/CSP/U5/A1059.cpp new file mode 100644 index 0000000000000000000000000000000000000000..961f4772f91d462f9670b57fec60310b3e4883ad --- /dev/null +++ b/C++/CSP/U5/A1059.cpp @@ -0,0 +1,71 @@ +#include +#include +using namespace std; +#define MAX 100005 + +int prime[MAX]; +int P_num = 0; +bool p[MAX] = {0}; +struct store +{ + int x, count; +} fac[20]; + +void find_prime(); +int main() +{ + find_prime(); + long long n; + cin >> n; + if (1 == n) + { + cout << "1=1"; + return 0; + } + cout << n << "="; + int sqr = (int)sqrt(1.0 * n); + int num = 0; + for (int i = 0; i < P_num && i <= sqr; i++) + { + if (0 == n % prime[i]) + { + fac[num].x = prime[i]; + fac[num].count = 0; + while (0 == n % prime[i]) + { + fac[num].count++; + n /= prime[i]; + } + num++; + } + if (1 == n) + break; + } + if (n != 1) + { + fac[num].x = n; + fac[num].count = 1; + num++; + } + for (int i = 0; i < num; i++) + { + if(i > 0) cout << "*"; + cout << fac[i].x; + if(fac[i].count > 1) cout << "^" << fac[i].count; + } + return 0; +} +void find_prime() +{ + for (int i = 2; i < MAX; i++) + { + if (0 == p[i]) + { + prime[P_num++] = i; + for (int j = i + i; j < MAX; j += i) + { + p[j] = 1; + } + } + } +} \ No newline at end of file diff --git a/C++/CSP/U5/A1059.exe b/C++/CSP/U5/A1059.exe new file mode 100644 index 0000000000000000000000000000000000000000..1c20b02686da7ebb35df8c69bb8f430c332ab42f Binary files /dev/null and b/C++/CSP/U5/A1059.exe differ diff --git a/C++/CSP/U5/B1005.cpp b/C++/CSP/U5/B1005.cpp new file mode 100644 index 0000000000000000000000000000000000000000..94cbad843412fbbd40be669e513a64cf05e6337a --- /dev/null +++ b/C++/CSP/U5/B1005.cpp @@ -0,0 +1,78 @@ +#include +using namespace std; + +int main() +{ + int n; + cin >> n; + string str; + while (n--) + { + cin >> str; + int A1_num = 0, A2_num = 0, A3_num = 0,P_num = 0, T_num = 0; + int flag = 0; + for (int i = 0; str[i] != '\0'; i++) + { + if (str[i] == 'P') + { + P_num++; + if(P_num>1) + { + flag = 1; + cout << "NO" <1) + { + flag = 1; + cout << "NO" < 0 && P_num ==1 && T_num == 1) + { + cout << "YES" < +using namespace std; + +int main() +{ + int n; + cin >> n; + double sum; + long long temp = 0; + for (int i = 0; i < n; i++) + { + double x; + cin >> x; + temp += (long long)(i + 1) * (long long)(n - i) * (long long)(x * 1000); + } + sum = 1.0 * temp / 1000; + printf("%.2lf\n",sum); + return 0; +} \ No newline at end of file diff --git a/C++/CSP/U5/B1049.exe b/C++/CSP/U5/B1049.exe new file mode 100644 index 0000000000000000000000000000000000000000..ed71cbc8d0aa512dda9555590d1fec8606c5d165 Binary files /dev/null and b/C++/CSP/U5/B1049.exe differ diff --git a/C++/CSP/U5/output/B1005.exe b/C++/CSP/U5/output/B1005.exe new file mode 100644 index 0000000000000000000000000000000000000000..954ae6a725aa51cb3478624fa393e1addb12798f Binary files /dev/null and b/C++/CSP/U5/output/B1005.exe differ diff --git a/C++/CSP/U5/output/B1049.exe b/C++/CSP/U5/output/B1049.exe new file mode 100644 index 0000000000000000000000000000000000000000..dc37ccfffa788523795ee3468cbea4cbe25ddf08 Binary files /dev/null and b/C++/CSP/U5/output/B1049.exe differ