【编写程序,输人一个大于2的自然数,然后输出小于该数字的所有素数组成的列表。】所谓素数,是指除了1和自身之外没有其他因数的自然数,最小的素数是2,后面依次是3、5、7、11、13...
c++代码:
#include#include
#define int long long
using namespacestd;
signed main()
{intx;
cin>>x;for(int i = 2;i < x;i++)
{int flag = 0;for(int j = 2;j <= sqrt(i);j++)
{if(i % j == 0)
{
flag= 1;break;
}
}if(flag == 0)
cout<< i << " ";
}
cout<
}
python代码:
importmath
a= input("请输入一个大于2的整数:")for i in range(2,int(a)):
flag=0for j in range(2,int(math.sqrt(i) + 1)):if i % j ==0:
flag= 1
break
if flag ==0:print("{}".format(int(i)))print("\n")
【编写程序,格式化输出杨辉三角。】杨辉三角即二项式定理的系数表,各元素满足如下条件:第一列及对角线上的元素均为1;其余每个元素等于它上一行同一列元素与前一列元素之和。
c++代码:
#include
#define int long long
#define maxx 9999
using namespacestd;inta[maxx][maxx];
signed main()
{intn;
cin>>n;//初始化边
for(int i = 1;i <= n;i++)//先初始化第一列即对角线的数值,都为1
{
a[i][i]= 1;
a[i][1] = 1;
}//计算出杨辉三角的各个值
for(int i = 3;i <= n;i++)//从第三行第二列开始
for(int j = 2;j <= i - 1;j++)//每一行所拥有的列数最大值即为当前行数减一
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//杨辉三角的性质,当前元素的值=上一行同一列的值+上一行前一列的值//输出打印
for(int i = 1;i <= n;i++)//注意观察以下两个for循环的边界条件,之和为n,这有助于你的理解
{for(int j = 1;j <= n - i;j++)//先打印空格
cout << " ";for(int k = 1;k <= i;k++)//再打印数值(数值后带一个空格)
cout << a[i][k] << " ";
cout<
}return 0;
}
python代码:
importmathimportnumpy as np
n= eval(input("请输入一个整数:"))#a = np.zeros((n,n),dtype = np.int)#下面使用了列表推导式。
array = [([0] * (n + 1)) for i in range(n + 1) ]#Python中正确的构造二维数组,应该使用列表推导式,这样就非常Python:array = [ [0] * m for i in range(n) ],行和列的数一定要大于已知矩阵的行数和列数,不然会报列表越界等错误,这里要格外的注意
for i in range(1,n + 1):
array[i][i]= 1array[i][1] = 1
for i in range(3,n + 1):for j in range(2,i):
array[i][j]= array[i - 1][j - 1] + array[i - 1][j]for i in range(1,n + 1):for j in range(1,n - i + 1):print(" ",end = "")for k in range(1,i + 1):print(array[i][k],end = " ")print("\n",end = "")
【编程计算有固定工资收入的党员每月所交纳的党费。】
(0,3000]:工资基数3000元及以下者,交纳工资基数的0.5%;
(3000, 5000]:工资基数3000~5000元者,交纳工资基数的1%;
(5000,10000]:工资基数在5000~10000元者,交纳工资基数的1.5%;
(10000,+):工资基数超过10000元者,交纳工资基数的2%。
c++代码