intmain() { long n = 0; int t = 0,beg=0,sum=0,sumt=0,begt=0; int num[1000] = {0}; scanf("%ld", &n); for (int i = 2; i <= n / 2; ++i) { if (n % i == 0) { num[t++] = i; //printf("%d ", i); } } //printf("\nt is %d\nt[22] is %d\n", t,num[t-1]);
for (int i = 1; i <t; ++i) { if (num[i] == num[i - 1]+1) { if (i == t - 1) { sumt = i - begt+1; if (sumt > sum) { beg = begt; sum = sumt; } begt = i; } } else { sumt = i - begt; if (sumt > sum) { beg = begt; sum = sumt; } begt = i; } } printf("%d\n",sum); for (int i = beg; i < beg + sum; ++i) { printf("%d", num[i]); if (i != beg + sum - 1) printf("*"); } return0; }
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<math.h> intjudge(int n,int mi) { int sum = 0, t = n; while (n) { sum += pow(n % 10, mi); if (sum > t) return0; n /= 10; } if (t == sum) return1; elsereturn0; } intmain() { int n = 0; scanf("%d", &n); for (int i = pow(10, n - 1); i < pow(10, n); ++i) { if (judge(i,n)) printf("%d\n", i); } //if (judge(153)) printf("153\n"); return0; }
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<math.h> intmypow(int a, int b) { int sum = 1; for (int i = 1; i <= b; ++i) { sum *= a; } return sum; } intjudge(int n,int mi) { int sum = 0, t = n; while (n) { sum += mypow(n % 10, mi); if (sum > t) return0; n /= 10; } if (t == sum) return1; elsereturn0; } intmain() { int n = 0; scanf("%d", &n); for (int i = mypow(10, n - 1); i < mypow(10, n); ++i) { if (judge(i,n)) printf("%d\n", i); } //if (judge(153)) printf("153\n"); return0; }
intmain() { int i, j, k; int n; int count = 0; scanf("%d", &n); for (i = n; i <= n + 3; i++) { for (j = n; j <= n + 3; j++) for (k = n; k <= n + 3; k++) if (i != j && j != k && i != k) { count++; if (count % 6 == 0) printf("%d%d%d\n", i, j, k); else printf("%d%d%d ", i, j, k); } } return0; }
7-117 整数的分类处理
这题我看不懂题目的意思,什么叫
存在整数 K 使之可以表示为 3K+1 的整数的个数、
还有什么叫做
存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
给定 N 个正整数,要求你从中得到下列三种计算结果:
A1 = 能被 3 整除的最大整数
A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
输入格式:
输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。