洛谷-牛数-野题

题目描述 Description

我们下面来研究整数性质,我们知道质数只有 1和自身两个因子,合数至少
有除了 1和自身的其他因子,我们也知道“猫老大数”是只能分解成两个质数乘
积形式的数,那么能分解成两个合数的数呢?我们称之为“牛数”。下面编程判
断整数是否为“牛数”。

输入输出格式 Input/output

输入格式:
第一行为 t(1<=t<=100),表示测试数据组数。
接下来 t行,每行一个正整数x(1<=x<=10^9)
输出格式:

对于每个输入数据 x,判断它是否为“牛数”,并输出一行字符串:如果它
是“牛数”,输出“cow”,否则输出“no”。

输入输出样例 Sample input/output

样例测试点#1

输入样例:

2

15

36

输出样例:

no

cow

思路:先把这个数分解为两个因数,传入判断质数函数判断即可,注意:要两个因数都为合数且这个数每次都不能被大于3的数整除

代码如下:

 1 #include <stdio.h>
 2 #include <math.h>
 3 int prime(int k);
 4 int main()
 5 {
 6     int n,cow,i,flag,j;
 7     //freopen("cow.in","r",stdin);
 8     //freopen("cow.out","w",stdout);
 9     scanf("%d",&n);
10     for(j=0;j<n;j++)
11     {
12         flag=0;
13         scanf("%d",&cow);
14         for(i=4;i<=(sqrt(cow));i++)
15         {
16             if(cow%i==0&&prime(i)==0&&prime(cow/i)==0)//如果是,输出yes
17             {
18                 printf("cow\n");
19                 flag=1;
20                 break;
21             }
22         }
23         if(flag==0) printf("no\n");//不是牛数,输出no
24     }
25     return 0;
26 }
27 int prime(int x) //是合数返回0,不是返回1
28 {
29     int i,l;
30     l=sqrt(x);
31     for(i=2;i<=l;i++)
32         if(x%i==0) return 0;
33              return 1;
34 }     
时间: 2024-11-29 11:01:49

洛谷-牛数-野题的相关文章

在洛谷3369 Treap模板题 中发现的Splay详解

本题的Splay写法(无指针Splay超详细) 前言 首先来讲...终于调出来了55555...调了整整3天..... 看到大部分大佬都是用指针来实现的Splay.小的只是按照Splay的核心思想和原理来进行的.可能会有不妥之处,还请大佬们指出,谢谢! 那么这个题解存在的意义就是让不会敲Splay的人额...会敲Splay啦... 基本思想 数据结构 对于Splay,我定义了一个class类(当成struct就行啦...个人习惯不同啦),定义名称为“Splay”. 之后在类中,我定义了Splay

洛谷-拼数-NOIP1998提高组复赛

题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 Input/output 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 Sample input/output 样例测试点#1 输入样例: 313131

洛谷P2429 制杖题 [2017年6月计划 数论10]

P2429 制杖题 题目描述 求不大于 m 的. 质因数集与给定质数集有交集的自然数之和. 输入输出格式 输入格式: 第一行二个整数 n,m. 第二行 n 个整数,表示质数集内的元素 p[i]. 输出格式: 一个整数,表示答案,对 376544743 取模. 输入输出样例 输入样例#1: 2 15 3 5 输出样例#1: 60 说明 样例解释:所有符合条件的数为 3,5,6,9,10,12,15 其和为 60. ··· 测试点编号 规模 1 2 3 n*m<=10^7 4 5 n<=2,m&l

洛谷 P1255 数楼梯 高精度加法

P1255 数楼梯 时空限制1s / 128MB 题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 4 输出样例#1: 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) --------------------------------------------------------------------

[洛谷P3254] [网络流24题] 圆桌游戏

Description 假设有来自m 个不同单位的代表参加一次国际会议.每个单位的代表数分别为ri (i =1,2,--,m). 会议餐厅共有n 张餐桌,每张餐桌可容纳ci (i =1,2,--,n)个代表就餐. 为了使代表们充分交流,希望从同一个单位来的代表不在同一个餐桌就餐.试设计一个算法,给出满足要求的代表就餐方案. 对于给定的代表数和餐桌数以及餐桌容量,编程计算满足要求的代表就餐方案. Input 第1 行有2 个正整数m 和n,m 表示单位数,n 表示餐桌数,1<=m<=150, 1

洛谷 P1028 数的计算

题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 1.不作任何处理; 2.在它的左边加上一个自然数,但该自然数不能超过原数的一半; 3.加上数后,继续按此规则进行处理,直到不能再加自然数为止. 输入输出格式 输入格式: 一个自然数n(n<=1000) 输出格式: 一个整数,表示具有该性质数的个数. 输入输出样例 输入样例#1: 6 输出样例#1: 6 说明 满足条件的数为 6,16,26,126,36

[NOIP2001] 提高组 洛谷P1025 数的划分

题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输入输出格式 输入格式: n,k (6<n<=200,2<=k<=6) 输出格式: 一个整数,即不同的分法. 输入输出样例 输入样例#1: 7 3 输出样例#1: 4 说明 四种分法为:1,1,5;1,2,4;1,3,3;2,2,3; 暴搜. 可以加一点剪枝,比如说当剩余数不够均分成剩余

洛谷——P1255 数楼梯

题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 4 输出样例#1: 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) 也是曾经做过的一道题,单纯复习一下高精斐波那契模板 #include<cstdio> #include<cstdlib> #include<cstring&

洛谷 P1926 小书童——刷题大军

题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的人. 文言是火,点亮历史宫灯:历史是灯,照亮社会之路:社会是路,通向哲学大坑:哲学是坑,埋葬文科生.——小A 题目描述 小A“刷题”十分猖狂,明目张胆地“刷题”.他现在在小书童里发现了n样他喜欢的“题目”,每“题”都有他的需要时间,而老师布置了m项作业,每项作业都有它的需要时间及分值,老师规定k分以上算及格.小A只剩r个单位时间,他想在及格的基础上更多地“刷题”. 输入输出格式 输入格式: 第一