zoukankan      html  css  js  c++  java
  • 洛谷-牛数-野题

    题目描述 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
    ");
    19                 flag=1;
    20                 break;    
    21             }            
    22         }                    
    23         if(flag==0) printf("no
    ");//不是牛数,输出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 }     
  • 相关阅读:
    C#Windows 服务制作安装删除. 用户注销后,程序继续运行
    续实例解析SOCKET编程模型之异步通信篇(上) 代码
    Multiview和View控件 使用事例
    C# Socket 笔记
    检测密码强度的javascript
    最基本的Socket编程 C#版 [转]
    SQL Server CHARINDEX和PATINDEX详解
    C# 文件操作
    网站首页js幻灯片代码
    如何让div它们在一行显示
  • 原文地址:https://www.cnblogs.com/geek-007/p/4648922.html
Copyright © 2011-2022 走看看