YTU OJ 2460: 特定の範囲内の特定の素数の合計

質問の説明

一定範囲内の特定の素数[m,n]の和を求めます(特定の素数とは、3、13、31など、数字の3を含む素数を指します)。

入力

最初の行には、テスト データ グループの数を表す数値 t を入力します。後続の各 t 行には 2 つの数値 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