回 帖 发 新 帖 刷新版面

主题:救救偶吧,偶信息班的作业。

1002. 回文质数

时间限制:3000 ms


[问题描述]
  如果一个数从左边读和右边读都是同一个数,就称为回文数,例如686就是一个回文数。
  写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)间的所有回文质数;
输入:
  两个整数,表示a与b。
输出:
  所有[a,b]之间的回文素数,一行一个。
SAMPLE INPUT
5 500
SAMPLE OUTPUT
5
7
11
101
131
151
181
191
313
353
373
383
1003. 输出排列成菱形的字母

时间限制:3000 ms


Problem
输入N值,编程输出如下图形。
Input
一个整数N(1<=N<=7)。
Output
排列成菱形的大写字符,首字符为Z,以后依次为Y,X...
Sample Input
3
Sample Output
    Z
  Y   X
W       V
  U   T
    S

1004. 进制转换

时间限制:1000 ms


[问题描述]
  我们从幼儿时就知道从1数到10,这就是我们熟悉的十进制计数法。但是计算机中却用二进制来表示信息,同时为了书写方便,在计算机科学中又经常使用八进制与十六进制。这些对我们大部分的小学同学来讲已经够难了,如果要将一个十进制实数,转换成R(2≤R≤16)进制数那就更难了。
  请您编写一个程序,将一个十进制实数n转换成R进制整数。
输入:
  十进制实数n和进制R。
输出:
  n的R进制,小数部分最多保留5位。
Sample input
10.625  2
Sample Output
1010.101
Sample input
28 16
Sample Output
1C

1005. 筛法求素数

时间限制:3000 ms


[问题描述]
  求2-n(n不大于200)之间所有的素数。
输入:
  n
输出:
  2至n之间(包含它们)所有素数,每行一个,按从小到大输出。


因为我刚学这个,是个菜鸟。但是老师又让我们做这种东西,题目可能不难,但对我来说非常可怕,希望大家帮帮忙。谢谢。

回复列表 (共10个回复)

沙发

好是好,就是这些题目你再过两天就会做了.
不是哄你,经验之谈.

板凳

很复杂的

3 楼

第二题比较好打。

4 楼

我第一题的解法~~~捧场点~~加30分 我做第二题~~

5 楼

我也做第二题

6 楼

参考:
program t1003;
var
   n,i,j:integer;
begin

   readln(n);
   for i:=1 to n do
   begin
    for  j:=1 to i*2-1 do
     if j=1 then write(chr(i+64):n+1-i)
            else write(chr(i+64));
    writeln;
   end;
   readln;
end.

7 楼


program t1003;
var
   n,i,j:integer;
begin

   readln(n);
   for i:=1 to n do
   begin
    for  j:=1 to i*2-1 do
     if j=1 then write(chr(i+64):n+1-i)
            else write(chr(i+64));
    writeln;
   end;
   readln;
end.

8 楼

第一题的截法啊~~~
program dsa;
      type nn=array[1..11]of byte;
  var a:nn;
        k:integer;
        n,m,i,j:longint;
        jc:boolean;
  procedure gc(n:nn);
    var i,j:integer;ja:boolean;
      begin
        i:=1;j:=k;ja:=true;
        while i<j do
        begin
          if a[i]<>a[j]then ja:=false;
          inc(i);dec(j);
        end;
        if ja then
         begin
         for i:=k downto 1 do write(a[i]);
         writeln;
         end;
      end;
  begin
    writeln('input a,b');
    readln(n,m);
    for i:=n to m do
        begin
          j:=i;k:=1;
          fillchar(a,sizeof(a),0);
          while j<>0 do
          begin
          a[k]:=j mod 10;
          inc(k);
          j:=j div 10;
          end;
          jc:=true;
          for j:=2 to trunc(sqrt(i)) do
            if i mod j =0 then jc:=false;
          dec(k);
          if jc then gc(a);
        end;
    writeln('    OVER       ');
    writeln('press <enter>  ');
    readln;
  end.

9 楼

简单program hwzs;
var n,b,k,i,j,q,d:longint;
    a:array[1..10]of integer;
function f(x:longint):integer;
var j:integer;
begin
f:=1;for j:=2 to trunc(sqrt(x)) do if x mod j=0 then f:=0;if x=1 then f:=0;
end;
begin
readln(n,b);
for i:=n to b do
begin
q:=i;j:=0;
while q>0 do
begin
j:=j+1;
a[j]:=q mod 10;
q:=q div 10;
end;
d:=0;
for k:=1 to j div 2 do
if a[k]<>a[j-k+1] then d:=1;
if (f(i)=1)and(d=0) then writeln(i);
end;
end.

10 楼

program 1003;
var
a:array[1..100] of integer;
z,j,m,k:integer;
begin
a[2]:=4;
for j:=3 to 100 do
  a[j]:=a[j-1]+4;
z:=26;
readln(m);
writeln(chr(z+64):m*2-1);
z:=z-1;
for j:=2 to m do
begin
  write(chr(z+64):(m+1-j)*2-1);
  writeln(chr(z-1+64):a[j]);
  z:=z-2;
end;
for j:=m-1 downto 2 do
begin
  write(chr(z+64):(m+1-j)*2-1);
  writeln(chr(z-1+64):a[j]);
  z:=z-2;
end;
writeln(chr(z+64):m*2-1);
end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册