Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Zadatak 40:
- Napiˇsite program koji uˇcitava prirodne brojeve n, k i bazu b ≥ 2. Program treba ispisati sve prirodne brojeve manje ili
- jednake n, koji se mogu prikazati kao suma k-tih potencija svih svojih znamenki u bazi b.
- Na primjer, za k = 3 i b = 10, jedan takav broj je 153 = 1^3 + 5^3 + 3^3. Uoˇcite da se broj 1 uvijek moˇze prikazati na opisani
- naˇcin, u bilo kojoj bazi b i za bilo koji k. */
- #include <stdio.h>
- int pot(int i, int b, int k){
- int zn, broj = 0, x;
- x = i;
- while(i){
- zn = i % b;
- broj += pow(zn, k);
- i /= b;
- }
- if (broj == x) return 0;
- else return 1;
- }
- int main(void){
- int n, b, k, i;
- printf ("ucitaj prirodni broj n: ");
- scanf ("%d",&n);
- printf ("ucitaj bazu: ");
- scanf ("%d",&b);
- printf ("ucitaj k: ");
- scanf ("%d",&k);
- if (b <2 ){
- printf("Niste ucitali dobar broj!");
- return 1;
- }
- for(i = 1; i <= n; i++){
- if (pot(i,b,k)==0) printf("%d,",i);
- }
- printf("takvi su brojevi.");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement