1022

 1 #include <iomanip>
 2 #include <iostream>
 3 #include <cmath>
 4 using namespace std;
 5 int main()
 6 {
 7     int n,i;
 8     cin>>n;
 9     int a[n];
10     for(i=1;i<=n;i++)
11     a[i]=i;
12     a[1]=0;
13     for(i=2;i<sqrt(n);i++)
14     for(int j=i+1;j<=n;j++)
15     {
16         if(a[i]!=0&&a[j]!=0)
17         if(a[j]%a[i]==0)
18         a[j]=0;
19     }
20     for(i=1;i<=n;i++)
21     {
22         if(a[i]!=0)
23         cout<<a[i]<<endl;
24     }
25     return 0;
26 }
时间: 2024-10-25 07:17:44

1022的相关文章

51nod - 1022【四边形不等式优化DP】

1022 石子归并 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 关注 N堆石子摆成一个环.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9(14) =&

题目1022:游船出租(hash简单应用)

问题来源 http://ac.jobdu.com/problem.php?pid=1022 问题描述 每次输入:船号(1~100) 键值(S或E) 发生时间(小时:分钟).当船号为0时,代表一天结束:当船号为-1时,结束输入. 问题分析 这道题一开始可能会想直接用一个结构体存下所有记录,在进行处理,这样一定是会超时的,为什么呢?由于我们在判断是不是多余数据时,需要遍历整个数组,浪费了大量时间,这种做法坑定是不行的. 本题我们发现船号只在1-100,很小的范围,那么我们使用hash数组,把船号当做

1022: [SHOI2008]小约翰的游戏John

1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1322  Solved: 829[Submit][Status] Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一粒石子的人算输.小约翰相当固执,他坚持认为先取的人有很大的优势,

hdoj 1022 Train Problem I 【简易STL】

题意:不解释(这题是学数据结构必做的) 以前自学数据结构的时候,只是会顺序表来模拟栈.最近简单学习了stack头文件 又来做了一遍(还是以前的味道) 代码: #include <stdio.h> #include <stack> #include <string.h> using std::stack; stack<char > s; char s1[100], s2[100]; int vis[10]; char stac[100]; int main()

Train Problem I hdu 1022(栈)

http://acm.split.hdu.edu.cn/showproblem.php?pid=1022 题意:给出火车的进站与出站顺序,判断是否可以按照给出的出站顺序出站. #include <iostream> #include <stdio.h> #include <string.h> #include <string> #include <vector> #include <algorithm> #include <ma

*1022. D进制的A+B【考前最后一道题】

1 /* 2 *Main.c 3 *1022. D进制的A+B Ver.1 4 *Created on : 2014.9.5 5 *****测试通过****** 6 */ 7 8 #include <stdio.h> 9 #include <stdlib.h> 10 11 void cal1(int sum, int D); 12 13 int main(void){ 14 15 int A, B, sum;//题目中的A.B 16 int D; 17 18 scanf_s(&qu

H 1022 Train Problem Ⅰ

题意:给我们两个序列,看能否通过压栈,出栈将第一个序列转换成第二个. 思路:将序列 1 依次压栈,同时看是否和序列 2 当前元素相同 代码如下: #include<iostream> #include<stack> #define max 100 using namespace std; int main() { stack<char>s; int n,i,j,k,result[max]; char str1[max],str2[max]; while(cin>&

codevs 1022 覆盖

题目链接:http://codevs.cn/problem/1022/ 题解: 匈牙利稍作改动,用邻接矩阵存储,以{横坐标和纵坐标都为奇数或横坐标和纵坐标都为偶数的点}为一个子集,其余的点为另一个子集,每次枚举4个方向进行深搜 1 #include<cstdio> 2 #include<cstring> 3 #define MAXN 110 4 int n,m,k,edge[MAXN][MAXN][2],ans; 5 bool used[MAXN][MAXN],map[MAXN][

[dp专题-四边形不等式优化]51nod 1022

? 1021?石子归并?V1 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. ? 例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9(14) => 10(24) 1 2 3 4 => 1 2 7(7) => 3 7(1

【BZOJ 1022】 [SHOI2008]小约翰的游戏John

1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1375  Solved: 865 [Submit][Status] Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一粒石子的人算输.小约翰相当固执,他坚持认为先取的人有很大的优