哈理工OJ 1328

感觉其实可以不水的。

 1 //好像是一道特别水的小学数学题。但是我确实看了很久有试了几个样例才懂得。T_T
 2 // 先判断是不是素数。如果是素数的话。An-1一定不等于An。否则的话。
 3 // 继续找如果有一对因子是互素的 就说明是相等的。否则不是、 1和n这一对不算。
 4
 5 #include <stdio.h>
 6 #include <string.h>
 7 #include <iostream>
 8 using namespace std;
 9
10 int prime(int n) {
11     for (int i=2; i<n; ++i) {
12         if (n % i == 0) {
13             return 0;
14         }
15     }
16     return 1;
17 }
18
19 int gcd(int a, int b){
20     if (a < b) {
21         int t = a;
22         a = b;
23         b = t;
24     }
25     if (b == 0) return a;
26     return gcd(b, a%b);
27 }
28
29 int main() {
30     int t;
31     scanf("%d", &t);
32     while(t--) {
33         int n;
34         scanf("%d", &n);
35         if (prime(n)) {
36             printf("NO\n");
37             continue;
38         }
39         bool flag = true;
40         for (int i=2; i<n; ++i) {
41             if (n % i == 0) {
42                 int temp = n / i;
43                 if (gcd(temp, i) == 1) {
44                     flag = false;
45                     break;
46                 }
47             }
48         }
49         if (!flag) {
50             printf("YES\n");
51         }
52         else printf("NO\n");
53     }
54     return 0;
55 }

时间: 2024-10-24 03:00:20

哈理工OJ 1328的相关文章

二叉树的建立与遍历(山东理工OJ)

数据结构实验之二叉树的建立与遍历 题目描述 已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点).请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度. 输入 输入一个长度小于50个字符的字符串. 输出 输出共有4行: 第1行输出中序遍历序列: 第2行输出后序遍历序列: 第3行输出叶子节点个数: 第4行输出二叉树深度. 示例输入 abc,,de,g,,f,,, 示例输出 cbegdfa cgefdba 3 5 #include <iost

众数问题(山东理工OJ)

题目描写叙述 给定含有n个元素的多重集合S,每一个元素在S中出现的次数称为该元素的重数.多重集S中重数最大的元素称为众数. 比如,S={1,2,2,2,3.5}.多重集S的众数是2,其重数为3. 对于给定的由n 个自然数组成的多重集S.计算S的众数及其重数. 输入 输入数据的第1行是多重集S中元素个数n(n<1300000):接下来的n行中,每行有一个最多含有5位数字的自然数,. 输出 输出数据的第1行给出众数,第2行是重数. 演示样例输入 6 1 2 2 2 3 5 演示样例输出 2 3 #i

哈理工 oj 2122 旅行(map + 最短路dij算法)

旅行 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 18(6 users) Total Accepted: 3(3 users) Rating: Special Judge: No Description "04.24,和Sakura去东京天空树,世界上最暖和的地方天空树的顶上. " "04.26.和Sakura去明治神宫.有人在那里举办婚礼." "04.25.和Sakura去迪士尼.鬼屋非

哈理工 oj——队列列列列!!!!!

队列列列列!!!!! Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 337(148 users) Total Accepted: 154(142 users) Rating: Special Judge: No Description xuxu完成了栈的实验要求后,他又很是开心,刚要出去liuda, biaobiao突然问道老师让做的队列的那个实验你写完了么,xuxu顿时大呼悲哉....他给忘记了,怎么办..明天就要上交实验报告了

哈理工 oj 1161 Leyni

Leyni Time Limit: 3000 MS Memory Limit: 65536 K Total Submit: 466(94 users) Total Accepted: 142(88 users) Rating: Special Judge: No Description Leyni被人掳走,身在水深火热之中... 小奈叶为了拯救Leyni,独自一人前往森林深处从静竹手中夺回昏迷中的Leyni. 历经千辛万苦,小奈叶救出了Leyni,但是静竹为此极为恼怒,决定对他们发起最强烈的进攻

哈理工 oj 2189 节点的连接

节点的连接 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 67(36 users) Total Accepted: 36(34 users) Rating: Special Judge: No Description 有N个节点,一开始任意两个节点都没有相连,之后有两种操作: 1: 将 A 节点和 B 节点连接起来. 2: 问从A节点出发可以直接或间接到达的节点数量. 如果 A 节点和 B 节点被连接起来了,那么从A可以到达B,同

哈理工OJ P2320:OX

题目链接:OX 题意 :给出一个3X3的黑白棋棋盘,棋盘上有若干黑白子,再给出下一个下的人,问下一个下的人能否赢 分析:考虑到只有39种状态,故用一个数保存目前棋盘的状态,记为value,再枚举空位DFS,每次 DFS先判该状态是否已到达(剪枝),再拆分状态用c[3][3]储存,判断是否有赢的状态,最后遍历 棋盘寻找空位,若有则下,value储存状态,再DFS下去,注意返回c[i][j]清零 判断胜负平的条件如下: 若有一个状态可以到达必败点,则该点必胜,返回1 若有一个状态可以到达平局点,则该

南阳理工OJ之三个数从小到大排序

------------------------------------------- AC代码: 1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class Main { 5 6 public static void main(String[] args) { 7 8 Scanner sc=new Scanner(System.in); 9 10 int x[]=new int[3]; 11 for(int i

南阳理工OJ之字符串逆序输出

------------------------------------------- AC代码: 1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 7 Scanner sc=new Scanner(System.in); 8 9 int times=Integer.parseInt(sc.nextLine()); 10 while(times-->