1: #include int prime(int n) { if (n < 2) return(0); for (int i = 2; i*i <= n; i++) if (n%i == 0) return(0); return(1); } int main() { int n; scanf("%d", &n); printf("%d\n", prime(n)); return(0); } 2: #include void formato_relogio(int total, int* h, int* m, int* s) { *h = total / 3600; *m = (total % 3600) / 60; *s = total % 60; printf("%d:%d:%d\n", *h, *m, *s); } int main() { int total, h, m, s; scanf("%d", &total); formato_relogio(total, &h, &m, &s); return(0); } 3: #include #include void formato_relogio(int total, int* h, int* m, int* s) { *h = total / 3600; *m = (total % 3600) / 60; *s = total % 60; printf("%d:%d:%d\n", *h, *m, *s); } int main(int argc, char* argv[]) { if (argc < 2) return(1); int total = atoi(argv[1]); int h, m, s; formato_relogio(total, &h, &m, &s); return(0); } 4: #include long long fat_iter(long long n) { long long ans = 1; for (long long i = 1; i <= n; i++) ans *= i; return(ans); } long long fat_rec(long long n) { if (n == 0) return(1); return(n * fat_rec(n-1)); } double pot_iter(double a, int n) { double ans = 1.0; for (int i = 0; i < n; i++) ans *= a; return(ans); } double pot_rec(double a, int n) { if (n == 0) return(1.0); return(a * pot_rec(a, n-1)); } int main() { double a; int n; scanf("%lf %d", &a, &n); printf("%lld\n", fat_iter((long long)n)); printf("%lld\n", fat_rec((long long)n)); printf("%.2f\n", pot_iter(a, n)); printf("%.2f\n", pot_rec(a, n)); return(0); } 5: #include int mdc(int a, int b) { if (b == 0) return(a); return(mdc(b, a % b)); } int main() { int n, m; scanf("%d %d", &n, &m); printf("%d\n", mdc(n, m)); return(0); } 6: #include void ord3(int* a, int* b, int* c) { int aux; if (*a > *b) { aux = *a; *a = *b; *b = aux; } if (*b > *c) { aux = *b; *b = *c; *c = aux; } if (*a > *b) { aux = *a; *a = *b; *b = aux; } } int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); ord3(&a, &b, &c); printf("%d %d %d\n", a, b, c); return(0); } 7: #include int nrecrutados(int nivel) { if (nivel == 0) return(1); return(3 * nrecrutados(nivel - 1)); } int main() { int nivel; scanf("%d", &nivel); printf("%d\n", nrecrutados(nivel)); return(0); } 8: #include #include void sacar(int valor, int* n200, int* n100, int* n50, int* n20, int* n10, int* n5, int* n2, int* n1) *n200 = valor / 200; valor %= 200; *n100 = valor / 100; valor %= 100; *n50 = valor / 50; valor %= 50; *n20 = valor / 20; valor %= 20; *n10 = valor / 10; valor %= 10; *n5 = valor / 5; valor %= 5; *n2 = valor / 2; valor %= 2; *n1 = valor; printf("200: %d\n", *n200); printf("100: %d\n", *n100); printf("50: %d\n", *n50); printf("20: %d\n", *n20); printf("10: %d\n", *n10); printf("5: %d\n", *n5); printf("2: %d\n", *n2); printf("1: %d\n", *n1); } int main(int argc, char* argv[]) { if (argc < 2) { printf("Erro.\n"); return(1); } int valor = atoi(argv[1]); int n200, n100, n50, n20, n10, n5, n2, n1; sacar(valor, &n200, &n100, &n50, &n20, &n10, &n5, &n2, &n1); return(0); } 9: #include void rebalancear(double* preco_petr, double* preco_itub, double aporte) { double parte_barata = 0.7 * aporte; double parte_cara = 0.3 * aporte; if (*preco_petr < *preco_itub) { *preco_petr += parte_barata / (*preco_petr); *preco_itub += parte_cara / (*preco_itub); printf("PETR4 recebeu o maior aporte\n"); } else { *preco_itub += parte_barata / (*preco_itub); *preco_petr += parte_cara / (*preco_petr); printf("ITUB4 recebeu o maior aporte\n"); } } int main() { double preco_petr, preco_itub, aporte; scanf("%lf %lf %lf", &preco_petr, &preco_itub, &aporte); rebalancear(&preco_petr, &preco_itub, aporte); printf("%.2f %.2f\n", preco_petr, preco_itub); return(0); } 10: #include double raiz(double n) { double x = n; double e = 0.00001; while ((x*x - n) > e || (n - x*x) > e) { x = (x + n/x) / 2; } return(x); } int main() { double n; scanf("%lf", &n); printf("%.4f\n", raiz(n)); return(0); } (outra solução para 10) #include double raiz(double n) { double p = 0.0; double q = (n>1.0) ? n: 1.0; double m; while((q-p)>0.00001) { m = (q + p) / 2.0; if(m*m > n) q = m; else p = m; } return(m); } int main() { double n; scanf("%lf", &n); printf("%.4f\n", raiz(n)); return(0); }