1 条题解
-
0
C :
#include<stdio.h> void main() { short t,a,b,i,j,k,x[8]; scanf("%d",&t); for(t;t>0;t--) { scanf("%d",&i); for(b=4;b<=i;b++) { k=0;a=b; while(a%2==0){ x[k++]=2; a=a/2;} while(a%3==0){ x[k++]=3; a=a/3;} while(a%5==0){ x[k++]=5; a=a/5;} while(a%7==0){ x[k++]=7; a=a/7;} while(a%11==0){ x[k++]=11; a=a/11;} while(a%13==0){ x[k++]=13; a=a/13;} while(a%17==0){ x[k++]=17; a=a/17;} while(a%19==0){ x[k++]=19; a=a/19;} while(a%23==0){ x[k++]=23; a=a/23;} while(a%29==0){ x[k++]=29; a=a/29;} while(a%31==0){ x[k++]=31; a=a/31;} while(a%37==0){ x[k++]=37; a=a/37;} while(a%41==0){ x[k++]=41; a=a/41;} while(a%43==0){ x[k++]=43; a=a/43;} while(a%47==0){ x[k++]=47; a=a/47;} if(k>1) { printf("%d ",b); for(j=0;j<k;j++) { if(j==k-1) printf("%d",x[j]); else printf("%d ",x[j]); } printf("\n"); } } } }
C++ :
#include <cstdio> #include <cmath> #include <vector> using namespace std; int main() { //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); int i, j, n, k, re, a[1001]; vector<int> v[1001]; scanf("%d",&re); while(re--) { scanf("%d",&n); k = 0; for(int i = 0 ; i <= 100 ; i ++) v[i].clear(); for(i = 2 ; i <= n ; i ++) { int m = i; for(j = 0 ; j < k ; j ++) { if(m % a[j] == 0) { v[i].push_back(a[j]); m /= a[j]; j = -1; } } if(m != 1) a[k++] = i; } for(i = 0 ; i <= n ; i ++) { if(v[i].size() > 0) { printf("%d",i); for(int j = 0 ; j < v[i].size() ; j ++) { printf(" %d",v[i][j]); } printf("\n"); } } } return 0; }
- 1
信息
- ID
- 3261
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者