找规律 (1) 1, 2, 4, 7, 8, 11, 14, 16, 17, 19, 22, 26, 28, 29, 41, 44, ?

来源:互联网 发布:搜一次cms官网 编辑:程序博客网 时间:2024/04/29 19:15

程序说明

 操作系统:win7 64位专业版

 集成环境:vs2010

 以下代码经过测试好用

(1) 1, 2, 4, 7, 8, 11, 14, 16, 17, 19, 22,26, 28, 29, 41, 44, ?

(2) 中间缺少关于3和5的数,3的倍数,5的倍数,和带3和带5的数;

(3) 源程序代码

/************************************ 输入:输入一个数n;该数大于1,小于1000 输出:输出为一个规律的数列,数列的长度为n**************************************/#include<stdio.h>int judgeFive(int n);int judgeThree(int n);int judgeHaveFive(int n);int judgeHaveThree(int n);int main(void){int i=1;int j=0;int nLen;                  //数列的长度printf("请输入数列的长度:");scanf("%d",&nLen);if(nLen>1000&&nLen<0){   printf("此数不符合要求");   return 0;}for(i=1;;i++){   if(!(judgeFive(i)||judgeThree(i)||judgeHaveFive(i)||judgeHaveThree(i)))   {      printf("     %d",i);  j++;   }   if(j==nLen)   {      break;   }    }}/************************************ 判断是否是3的倍数 输入:输入一个数n 输出:如果是3的倍数,输出1,如果不是,输出0**************************************/int judgeThree(int n){if(n%3==0){      return 1;}else{   return 0;}}/************************************ 判断是否是5的倍数 输入:输入一个数n 输出:如果是5的倍数,输出1,如果不是,输出0**************************************/int judgeFive(int n){if(n%5==0){      return 1;}else{   return 0;}}/************************************ 判断数中是否有5 输入:输入一个数n 输出:数中有5,输出1,如果不是,输出0**************************************/int judgeHaveFive(int n){       int i=1;           if(n>99)   {   if(500<n&&n<599)   //判断百位   {      return 1;   }   i=n/10;   if(50<=i&&i<=59)   {   return 1;   }   }   if(50<=n&&n<=59)     //判断十位   {       return 1;   }   return 0;}/************************************ 判断数中是否有3 输入:输入一个数n 输出:数中有3,输出1,如果不是,输出0**************************************/int judgeHaveThree(int n){  int i=1;           if(n>99)   {   if(300<n&&n<399)   //判断百位   {      return 1;   }        i=n/10;   if(30<=i&&i<=39)     //判断十位       {       return 1;       }   }   if(30<=n&&n<=39)     //判断十位   {       return 1;   }   if((n%100==3)||(n%10==3))   //判断各位   {      return 1;   }   return 0;}


0 0