#include stdio.h int main() { int n 2021; long long ans 0; for (int x 1; x n; x) { ans n / x; } printf(%lld\n, ans); return 0; }#include stdio.h // 计算正整数n的正约数个数 long long countDivisors(long long n) { long long count 1; // 最终约数个数初始为1乘法单位元 // 分解质因数2 int exponent 0; while (n % 2 0) { exponent; n / 2; } count * (exponent 1); // 2的指数1 // 分解奇数质因数从3开始步长2 for (long long i 3; i * i n; i 2) { exponent 0; while (n % i 0) { exponent; n / i; } count * (exponent 1); // 当前质因数的指数1 } // 若剩余n1说明是最后一个质因数 if (n 1) { count * 2; // 指数为1112 } return count; } int main() { long long num 12000000; // 目标数 long long result countDivisors(num); printf(12000000的正约数个数为%lld\n, result); return 0; }#include stdio.h int main() { int cnt[10]; // 存储0~9的卡片数量 // 初始化每个数字2021张 for (int i 0; i 10; i) { cnt[i] 2021; } int n 1; while (1) { int tmp n; // 复制当前卡片状态避免提前修改导致错误 int tmp_cnt[10]; for (int i 0; i 10; i) { tmp_cnt[i] cnt[i]; } // 逐位消耗卡片 while (tmp 0) { int d tmp % 10; tmp_cnt[d]--; if (tmp_cnt[d] 0) { // 卡片不足输出上一个数 printf(%d\n, n - 1); return 0; } tmp / 10; } // 卡片足够更新真实卡片数量 for (int i 0; i 10; i) { cnt[i] tmp_cnt[i]; } n; } return 0; }#include stdio.h #include stdlib.h int gcd(int a,int b) { while(b!0) { int tb; ba%b; at; } return a; } int main(int argc, char *argv[]) { int cnt0; for(int i1;i2020;i) { for(int j1;j2020;j) { if(gcd(i,j)1) cnt; } } printf(%d,cnt); return 0; }#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { int x0;//记录三角数 for(int i1;;i){//查找三角数 xi; if(x20220514){//大于20220514验证是否为回文数 int bx; int a0; while(b!0){//将三角数倒置放入a中储存 aa*10b%10; b/10; } if(ax){//比较a是否等于x相等说明x为三角回文数 printf(%d,x); break; } a0;//不是重置a进入下一次验证 } } return 0; }#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { long long ans0; for(long long i1;i1000000007;i) { if((i*20218)%10000000070) { ansi; break; } } printf(%lld,ans); return 0; }#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { long long x; x256*255*254/3256*255/2; printf(%lld,x); return 0; }注意i要设为long long不然会超时#include stdio.h #include stdlib.h int main() { long long arr[3000],i,n2021041820210418; long long a,b,c; int count0,m0; for(i1;i*in;i){ if(n%i0){//如果n能被i整除 arr[m]i;//就把i存到arr里面 m;//arr数组向后移一位 if(n/i!i){//如果n不是i的平方就把n/i得到的约数也放到arr里面 arr[m]n/i;//把n/i之后的数放到arr里面 m;//arr数组向后移一位 } } } for(a0;am;a){//L的值 for(b0;bm;b){//W的值 for(c0;cm;c){//H的值 if(arr[a]*arr[b]*arr[c]n) count;//如果他们的积是n就count1 } } } printf(%d,count);//输出count的值 return 0; }#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { int months[13]{0,31,28,31,30,31,30,31,31,30,31,30,31}; int month,day,year; int cnt0; int ans6; for(year2000;year2020;year) { if((year%40year%100!0)||year%4000) months[2]29; else months[2]28; for(month1;month12;month) { for(day1;daymonths[month];day) { cnt; if(ans1||day1) cnt; ans; if(ans8) ans1; if(year2020month10day1) printf(%d,cnt); } } } return 0; }#include stdio.h #include string.h int arr[100] { 5,6,8,6,9,1,6,1,2,4,9,1,9,8,2,3,6,4,7,7,5,9,5,0,3,8,7,5,8,1,5,8,6,1, 8,3,0,3,7,9,2, 7,0,5,8,8,5,7,0,9,9,1,9,4,4,6,8,6,3,3,8,5,1,6,3,4,6,7,0,7,8,2,7,6,8, 9,5,6,5,6,1,4,0,1, 0,0,9,4,8,0,9,1,2,8,5,0,2,5,3,3 }; int check(const char *date_str) { int i0,j0; int lenstrlen(date_str); while(i100jlen) { if(arr[i]date_str[j]-0) j; i; } return jlen; } int main() { int momth_day[]{31,28,31,30,31,30,31,31,30,31,30,31}; int count0; char date_str[9]; for(int month1;month12;month) { for(int day1;daymomth_day[month-1];day) { sprintf(date_str,2023%02d%02d,month,day); if(check(date_str)) count; } } printf(%d,count); return 0; }#includestdio.h #includemath.h int main() { double n 23333333,sum 0; int o 0,l 0; for(o 0;o n/2;o){ sum 0; sum - o*(o / n) * log2(o / n) (n - o)*((n - o) / n) * log2((n - o) / n); if(sum 11625907.5 sum 11625907.6){ printf(%d,o); break; } } return 0; }#include stdio.h #include stdlib.h #include math.h #define N 1004 typedef long long ll; ll a[N]; ll min_ll(ll x, ll y) { return x y ? x : y; } ll abs_ll(ll x) { return x 0 ? -x : x; } int main() { int n; scanf(%d, n); for (int i 1; i n; i) { scanf(%lld, a[i]); } ll ans 1e14; for (int l 1; l n; l) { for (int r n; r l; r--) { int i l, j r; ll sum1 a[i], sum2 a[j]; ans min_ll(ans, abs_ll(sum1 - sum2)); if (ans 0) { printf(0\n); return 0; } while (i 1 j) { if (sum1 sum2) { printf(0\n); return 0; } if (sum1 sum2) { j--; sum2 a[j]; } else if (sum1 sum2) { i; sum1 a[i]; } ans min_ll(ans, abs_ll(sum1 - sum2)); } } } printf(%lld\n, ans); return 0; }#include stdio.h #include stdlib.h int n 0; double ab[100000][2]{{0},{0}}; int fun(int x0,int y0,int x1,int y1) { double a (y0-y1)*1.0/(x0-x1); double b (x0*y1-x1*y0)*1.0/(x0-x1); for(int i0;in;i) { if(ab[i][0]aab[i][1]b) return 0; } ab[n][0] a; ab[n][1] b; n; return 1; } int main(int argc, char *argv[]) { // 请在此输入您的代码 for(int x00;x020;x0) for(int y00;y021;y0) { for(int x1 x01;x120;x1) for(int y1 y01;y121;y1) fun(x0,y0,x1,y1); } printf(%d,2*n41); return 0; }#include stdio.h #include stdlib.h int f2(int x) { int a0; while(x) { ax%2; x/2; } return a; } int f4(int x) { int a0; while(x) { ax%4; x/4; } return a; } int main(int argc, char *argv[]) { int cnt0; for(int i1;i2024;i) { if(f2(i)f4(i)) cnt; } printf(%d,cnt); return 0; }#include stdio.h int main() { long long ans 0; // 2位数 (ab) for (int a 1; a 9; a) { for (int b 0; b 9; b) { if (a b) ans; } } // 4位数 (abcd, 前两位和等于后两位和) for (int a 1; a 9; a) { for (int b 0; b 9; b) { for (int c 0; c 9; c) { for (int d 0; d 9; d) { if (a b c d) ans; } } } } // 6位数 (abcdef, 前三位和等于后三位和) for (int a 1; a 9; a) { for (int b 0; b 9; b) { for (int c 0; c 9; c) { for (int d 0; d 9; d) { for (int e 0; e 9; e) { for (int f 0; f 9; f) { if (a b c d e f) ans; } } } } } } // 8位数 (abcdefgh, 前四位和等于后四位和) for (int a 1; a 9; a) { for (int b 0; b 9; b) { for (int c 0; c 9; c) { for (int d 0; d 9; d) { for (int e 0; e 9; e) { for (int f 0; f 9; f) { for (int g 0; g 9; g) { for (int h 0; h 9; h) { if (a b c d e f g h) ans; } } } } } } } } printf(%lld\n, ans); return 0; }