C语言求解欧拉函数和本原根

C语言求解欧拉函数和本原根,第1张

#include <stdio.h>

int eulerFunc(int n, int* num_out) {

int i, j, cnt = 0

num_out[cnt++] = 1

for (i = 2 i <= n ++i) {

for (j = 2 j <= i ++j) {

if (i % j == 0 && n % j == 0) {

break

}

}

if (j > i) {

num_out[cnt++] = i

}

}

return cnt

}

int main(void) {

int n, num[10], y, i

scanf("%d", &n)

y = eulerFunc(n, num)

for (i = 0 i < y ++i) {

printf("%d ", num[i])

}

printf("\n%d", y)

return 0

}

欧拉法求解y'=-2y-4x, x0=0, y0=2, x<=1的求解如下:

#include<stdio.h>

/*solve ode: dy/dx = -2*y -4*x*/

float fun(float x,float y){

float f

f=-2.0*y -4.0*x

return f

}

int main(){

float x0=0,y0=2.0,x,y,h=0.1,t=1.0,k

/* printf("\nEnter x0,y0,h,xn: ") scanf("%f%f%f%f",&x0,&y0,&h,&t)*/

x=x0

y=y0

printf("\n x\t y\n")

while(x<=t){

k=h*fun(x,y)

y=y+k

x=x+h

printf("%0.3f\t%0.3f\n",x,y)

}return 0

}

代码截图

运行结果

代码截图+运行结果

(晚点我再来看后面的几小问)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11340647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存