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 }     
  • 相关阅读:
    2.6
    2.5
    2.4
    2.3
    2.2
    2.1
    条件查询
    项目办公自动化工具-文件夹照片批量插入word&#183;
    suffer根据CGCS2000坐标利用散点图生成奥维坐标
    案例应用:给照片文件夹里照片按日期排序后引用表格的照片名称批量重命名(源码)
  • 原文地址:https://www.cnblogs.com/geek-007/p/4648922.html
Copyright © 2011-2022 走看看