YTU OJ 2460: 一定范围内特定素数和

题目描述

求一定范围内[m,n]特定素数的和(特定素数指含有数字3的素数,比如3,13,31等)

输入

第一行输入一个数t代表测试数据组数,随后的t行每行包含两个数m,n代表一定的范围(0<m,n<=100,m不等于n)

输出

输出有t行,每行包含一个数,输出相应的特定素数的和

样例输入

2 14

样例输出

3
16

c++代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MaxSize 1000
bool judge(int n)
{
    
    
 int t=n;
 while (t != 0)
 {
    
    
  if (t % 10 == 3)
   return true;
  t = t / 10;
 }
 return false;
}
bool is_prime(int n)
{
    
    
 int i;
 if (n == 1 || n == 2)
  return true;
 for (i = 2; i < n; i++)
 {
    
    
  if (n%i == 0)
   return false;
 }
 return true;
}
int add(int m, int n)
{
    
    
 int i,sum=0;
 for (i = m; i <= n; i++)
 {
    
    
  if (is_prime(i) == true && judge(i) == true)
   sum += i;
 }
 return sum;
}
int main()
{
    
    
 int t, m, n,sum=0;
 scanf("%d", &t);
 while (t--)
 {
    
    
  scanf("%d %d", &m, &n);
  sum=add(m, n);
  printf("%d\n", sum);
 }
 return 0;
}

猜你喜欢

转载自blog.csdn.net/u014295602/article/details/103318517