ll1111r 2017-12-03 06:57 采纳率: 33.3%
浏览 755

请问大数在在循环中应该怎样才能提高效率,一道简单的题目为例

一个数如果满足以下全部条件的话,那么这个数便是滋润数。

  1. a为正整数
  2. 区间[a,2a]内至少有一个素数
  3. (((a*307829558302172+9317635829295)%56323)+18)%17=1成立 现在夏吉巴先生想知道,在区间[1,n]内有多少个滋润数。 Input 输入的第一行为t(1<=t<=10000),表示有t组数据。 接下来有t行,每行为一组数据,仅包含一个整数n(2<=n<=1,000,000,000,000,000,000)

Output
对于每组数据,输出区间[1,n]内的滋润数的个数。

代码如下,多多指教!

int Is_prime(int a);

int main()
{
int t,n,a,r,j,sum=0;
while(scanf("%d\n",& t)!=EOF)
{
while(t--)
{
scanf("%d",& n);

         if(n>0)
        {
            for( j=1;j<=n;j++)
            {
                while(j<=2*j)
                {
                    if(Is_prime(j))
                        {
                            r=1;
                            break;
                        }
                     else r=0;
                }
                if(r==1 && (((j*307829558302172+9317635829295)%56323)+18)%17==1)
                sum+=1;
            }
            printf("%d\n\n",sum);
            sum=0;
        }

    }
}
return 0;

}
int Is_prime(int a)
{
for(int i=2;i<sqrt(a);i++)
{
if(a%i==0) {return 0;}

}

    return 1;

}

  • 写回答

1条回答 默认 最新

  • Star丶Xing 2017-12-04 07:04
    关注

    提问前先把自己的文本格式整理好吧

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)