单老师要的问题

2021-03-17  本文已影响0人  Fifty_Fly

水仙花数
python版

k = int(input("请输入一个数"))
bw = k // 100
sw = k // 10 % 10
gw = k % 10
print(bw, sw, gw)
if k == bw ** 3 + sw ** 3 + gw ** 3:
    print(f"{k}是水仙花数")
else:
    print(f"{k}不是水仙花数")

C

#include <stdio.h>
int main()
{
    int bw, sw, gw, k;
    printf("请输入一个正整数:");
    scanf("%d",&k);  
    bw = int(k / 100);
    sw = int(k / 10) % 10;
    gw = k % 10;
    if(k == bw*bw*bw + sw*sw*sw + gw*gw*gw)
            printf("%d是水仙花数", k);
    }else{
            printf("%d不是是水仙花数", k);
    }
    return 0;
}

VB

Private Sub Form_Click()
Dim q As Integer
Dim b As Integer
Dim s As Integer
Dim n As Integer
For n = 100 To 999
    q = n \ 100
    b = (n - q * 100) \ 10
    s = n Mod 10
    If ((q * q * q + b * b * b + s * s * s) = n) Then
        Print n
    End If
Next

素数
Python版本

k = int(input("请输入一个大于2的数"))
for i in range(2, k):
    if k % i == 0:
        print(f"{k}不是素数")
        break
else:
    print(f"{k}是素数")
#include <stdio.h>
int main(){
    int a=0;  // 是否素数
    int num=0;  // 输入的整数
    printf("输入一个整数:");
    scanf("%d",&num);
    for(int i=2;i<num;i++){
        if(num%i==0){
            a = 1
            break
        }
    }
    if(a==0){
        printf("%d是素数。\n", num);
    }else{
        printf("%d不是素数。\n", num);
    }
    return 0;
}

VB

Private Sub Command1_Click()
Dim yn As Boolean '为真表示是素数
Dim i As Integer, j As Integer, x As Integer
For i = 1 To 100
    yn = True          '为真表示是素数,否则就不是,先默认为是素数
    For j = 2 To i - 1        '素数要大小1,所以循环从2开始,素数不包括本身,所以循环终值减小1
        If i Mod j = 0 Then yn = False   '如果能整除就不是素数
    Next j
    If yn = True Then Print i; '如是素数,就在窗体上输出素数
Next i
End Sub

输入十个数,从小到大

k = []
for _ in range(10):
    n = eval(input("请输入一个数"))
    k.append(n)
for i in range(10):
    for j in range(0, n-i-1):
        if k[j] > k[j+1]:
            k[j], k[j+1] = k[j+1], k[j]
print(k)

C

#include <stdio.h>
int main(){
    int i,j,a[10],t;
    printf("输入数");
    for (i = 0; i < 10; i++)
        scanf("%d",&a[i]);
    for (i = 0; i < 10; i++){
        for (j = i + 1; j < 10;j++) 
            if (a[i] < a[j]){
                 t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
    }
    printf("从大到小");
    for (i = 0; i < 10; i++)
        printf("%2d", a[i]);
    return 0;
}

VB

Dim a As String
Dim arr(1 To 10) As Integer
Dim i, j, t As Integer
Private Sub Command1_Click()
For i = 1 To 10
    a = InputBox("请输入第" & i & "个值")
    arr(i) = Val(a)
Next i
For i = 1 To 9
    For j = 1 To 9
        If arr(j) > arr(j + 1) Then
            t = arr(j + 1): arr(j + 1) = arr(j): arr(j) = t
        End If
    Next j
Next i
For i = 1 To 10
    Print arr(i)
Next i
End Sub

菱形

for i in range(5):
    print(" "*(5-i-1), end="")
    print("* "*(i+1))
for i in range(4):
    print(" " * (i + 1), end="")
    print("* " * (5 - i - 1))

C

#include <stdio.h>
int main(){
    int i = 0
    int k = 0
    for (i = 0; i < 5;i++){
         for (k=0; k<5-i-1;k++){
               printf(" ")
         }
         for (k=0; k<i+1;k++){
               printf("* ")
         }
         printf("\n")
    }
    for (i = 0; i < 4;i++){
         for (k=0; k<i+1;k++){
               printf(" ")
         }
         for (k=0; k<5-i-1;k++){
               printf("* ")
         }
         printf("\n")
    }
    return 0;
}

VB

Private Sub Form_Click()
Dim i As Integer
Dim q As Integer
For i = 1 To 5
    For k = 1 To 5-i
        print " ";
    Next k
    For k = 1 To i
        print "* ";
    Next k
    print ""
Next i
For i = 1 To 4
    For k = 1 To i
        print " ";
    Next k
    For k = 1 To 5-i
        print "* ";
    Next k
    print ""
Next i

斐波拉契
python

k = int(input("请输入斐波拉契数列的项数"))
n = []
for i in range(k):
    if i < 2:
        n.append(1)
    else:
        n.append(n[-1]+n[-2])
print(n)

C

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int n = 0;
 int a = 1;
 int b = 1;
 int c = 0;
 int i = 0;
 scanf("%d", &n);
 printf("%5d %5d ", a, b);
 for (i = 0; i < n - 2;i++)
 {
   c = a + b;
   a = b;
   b = c;
   printf("%5d ", c);
 }
 printf("\n");
 system("pause");
 return 0;
}

VB

Function f(ByVal n As Double) As Double     '定义求第n项值的函数
   If n = 1 Then
       f = 0
   ElseIf n = 2 Then
       f = 1
   Else
       f = f(n - 1) + f(n - 2)
   End If
End Function

最大公约数

k = input("请输入两个数,用空格隔开")
a, b = k.split(" ")
c, d = max(int(a),int(b)), min(int(a), int(b))
while c % d != 0:
    c, d = d, c % d
print(f"最大公约数是{d}, 最小公倍数是{int(a) * int(b) // d}")

C

int main(void)
{
printf("这是两个整数求最大公约数的算式,请输入两个不相等的正整数,并按回车键确认:\n"); //操作提示
intm,n,r,i; //定义四个整形变量
scanf("%d %d",&m,&n); //输入m和n的值
if(m<n) {i=m;m=n;n=i;} //如果m<n,借用变量i进行m和n的数值互换
while(m%n!=0) //m取模n 赋值给r
{r=a%b;m=n;n=r;} //余数不等于0,则n的值给m,r的值给n,再次进入循环
printf("它们的最大公约数是%d\n",n);
system("PAUSE");
return 0;
}

VB

Private Sub Command1_Click()
Dim a As Long, b As Long, t As Long
a = Val(Text1.Text)
 b = Val(Text2.Text)
If a < b Then
t = a
a = b
b = t
End If
r = a Mod b
Do Until r = 0 Or r = 1
a = b
b = r
r = a Mod b
Loop
If r = 1 Then MsgBox "最大公约数为1", vbOKOnly, "提示"
If r = 0 Then MsgBox "最大公约数为" & b, vbOKOnly, "提示"
End Sub
上一篇下一篇

猜你喜欢

热点阅读